强制过期 JWT
Posted
技术标签:
【中文标题】强制过期 JWT【英文标题】:Force expire JWT 【发布时间】:2019-03-04 12:46:33 【问题描述】:问题陈述:-
当用户想要从移动设备上注销时,强制使 JWT 过期。
问题:-
由于 JWT 不存储在任何数据库中(因为这样做会破坏 JWT 的全部目的)强制使 JWT 令牌过期的正确方法是什么?
当我阅读各种答案时,我意识到 JWT 不能手动过期(这是我想要实现的)
根据 JWT,它只有在达到令牌中设置的过期时间时才会过期。根据安全性,这很糟糕。
选项
当用户点击注销时,从移动应用程序中清除缓存和 JWT。但问题仍然在于 JWT 仍然有效。
当用户注销时维护一个列入黑名单的 JWT 列表,并将其与之后的每个请求进行比较。这违背了 JWT 的全部目的。 这种方法不具备可扩展性并且是一种糟糕的实现方式。
我不确定正确的方法是什么。
【问题讨论】:
如果您需要管理已撤销令牌的列表,那么您根本不需要 JWT。 @FlorentMorselli 完全正确。 【参考方案1】:无会话性能与会话需求是难以实现的权衡之一。 一种方法(有一些限制)是使用短期 JWT 和 Renewal Token 撤销来强制过期。
【讨论】:
以上是关于强制过期 JWT的主要内容,如果未能解决你的问题,请参考以下文章