【问题标题】:Force expire JWT强制过期 JWT
【发布时间】:2019-03-04 12:46:33
【问题描述】:

问题陈述:-

当用户想要从移动设备上注销时,强制使 JWT 过期。

问题:-

由于 JWT 不存储在任何数据库中(因为这样做会破坏 JWT 的全部目的)强制使 JWT 令牌过期的正确方法是什么?

当我阅读各种答案时,我意识到 JWT 不能手动过期(这是我想要实现的)

根据 JWT,它只有在达到令牌中设置的过期时间时才会过期。根据安全性,这很糟糕。

选项

  1. 当用户点击注销时,从移动应用程序中清除缓存和 JWT。但问题仍然在于 JWT 仍然有效。

  2. 当用户注销时维护一个列入黑名单的 JWT 列表,并将其与之后的每个请求进行比较。这违背了 JWT 的全部目的。 这种方法不具备可扩展性并且是一种糟糕的实现方式。

我不确定正确的方法是什么。

【问题讨论】:

  • 如果您需要管理已撤销令牌的列表,那么您根本不需要 JWT。
  • @FlorentMorselli 完全正确。

标签: security session jwt


【解决方案1】:

无会话性能与会话需求是难以实现的权衡之一。 一种方法(有一些限制)是使用短期 JWT 和 Renewal Token 撤销来强制过期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-15
    • 2020-11-02
    • 2020-08-05
    • 2013-03-12
    • 2019-02-02
    • 2019-10-21
    • 2019-10-08
    • 1970-01-01
    相关资源
    最近更新 更多