请求中的“可选”JWT?

时间:2017-03-13 17:50:48

标签: angular jwt auth0 express-jwt

第一次了解JWT ......

我有一个与Auth0 Facebook登录集成的NodeJS / Express / Angular 2应用程序。

我目前正在localStorage中存储用户个人资料详细信息,并且我知道可以通过开发控制台对其进行编辑。

我希望用户能够发布某个帖子,无论他们是否已登录(并且当他们 登录时,将他们的用户帐户与数据库中的结果实体相关联) 。但是,我想验证他们没有以任何方式更改localStorage对象,可能是为了冒充其他用户等。

是否有一条路由能够处理此问题,还是应该将其拆分为两条单独的路由,以供经过身份验证的用户/来宾使用,并将来宾排除在JWT检查之外?

关于这个主题的任何一般性建议都赞赏

1 个答案:

答案 0 :(得分:1)

您应该有两种类型的路线。经过身份验证时可以访问的那些以及没有任何形式的身份验证的其他访问者。这几乎是你应该做的唯一方法。

除此之外,您可以在localStorage中保留您想要的任何内容。 JWT使用秘密(使用HMAC算法)或使用RSA的公钥/私钥对进行签名。如果从localStorage复制它并将其发送到另一个,那不是你的问题。