【问题标题】:Make jwt token expired after one of the user's property has changed在用户的属性之一更改后使 jwt 令牌过期
【发布时间】:2018-09-10 09:47:37
【问题描述】:

是否可以在用户属性之一更改后使 jwt 令牌过期(例如 - 激活: false 或角色: [ADMIN] )?或者也许有另一种方法来解决这个问题?

【问题讨论】:

  • 您确定 JWT 已过时的信息来源是什么?这是这里的重要信息。
  • 例如:用户被提升为管理员或可能被停用

标签: node.js mongodb express mongoose jwt


【解决方案1】:

通常,JWT 仅在该令牌的到期日期过后才会到期。但这并不意味着 JWT 不能因为其他原因在逻辑上过期。一个示例是,您的 Node 应用程序接收到具有有效 JWT 的请求,但令牌属于最近停用帐户的用户。工作流程可能如下所示:

  • 您的 Node 应用收到 JWT
  • 它解密 JWT,并提取用户名
  • 然后它会查询数据库中的用户表以检查帐户的状态
  • 发现帐户未激活后,您的 Node 应用会重定向到登录页面并显示错误消息

通常由您决定如何处理 JWT。 JWT 只是保护令牌不被用户操纵。

【讨论】:

    猜你喜欢
    • 2017-11-03
    • 2022-01-25
    • 2019-04-18
    • 2019-10-06
    • 1970-01-01
    • 2021-10-03
    • 2020-03-01
    • 2019-04-19
    • 2017-03-04
    相关资源
    最近更新 更多