【问题标题】:NodeJs JWT token storingNodeJs JWT 令牌存储
【发布时间】:2018-02-08 18:32:21
【问题描述】:

我正在创建用户身份验证服务并使用 passport-jwt-strategy 进行身份验证。但坚持将生成的“JWT 令牌”存储到用户模式中。是否需要将 JWt 令牌存储到用户模型中?

【问题讨论】:

  • 存储令牌不是必需的,因为令牌本身包含一些关于用户的独特信息。 token 可以直接用于获取用户名等用户信息。如果你想包含撤销令牌的功能,那么存储令牌是必要的
  • 好的,但是如果我们注销用户可以做什么?在这种情况下,我们只需要从浏览器本地存储中删除令牌。

标签: node.js


【解决方案1】:

创建 JWT 以存储在客户端。 服务器唯一需要的是用于验证令牌签名的密钥,以确保它没有被篡改。 如果您需要能够使会话无效,那么也许应该使用另一种形式的验证。

【讨论】:

    【解决方案2】:

    jwt token 不需要存储,从服务器端你只需要验证 jwt token,验证 jwt token 的 auth 和角色,jwt token 应该只存储在客户端。 Jwt 向用户提供无会话授权。更多内容请访问 jwt 官网。

    【讨论】:

      【解决方案3】:

      JWT 是无状态的,不需要存储在服务器端。但是,spec 表示属性 jti,它是令牌的 ID。这个可能值得存储,例如,稍后将某个特定令牌列入黑名单。

      【讨论】:

        猜你喜欢
        • 2019-02-01
        • 2018-12-07
        • 2019-05-06
        • 2021-12-27
        • 2020-07-15
        • 2016-01-17
        • 2020-07-24
        • 2016-03-15
        • 2020-03-23
        相关资源
        最近更新 更多