问题陈述:-
当用户要从移动设备注销时,强制JWT过期。
问题:-
由于JWT没有存储在任何数据库上(这样做会破坏JWT的全部目的),什么是强制使JWT令牌过期的正确方法?
当我阅读各种答案时,我意识到JWT无法手动过期(这是我想要实现的)
根据JWT,它只有在达到令牌中设置的到期时间时才会到期。出于安全考虑,这很糟糕。
选项
当用户单击注销时,从移动应用程序清除缓存和JWT。但是问题仍然在于JWT仍然有效。
当用户单击注销时,维护一个列入黑名单的JWT列表,并将其与之后的每个请求进行比较。这违背了智威汤逊的全部目的。 这种方法不具有可伸缩性,并且实现不佳。
我不确定什么是正确的方法。
答案 0 :(得分:1)
答案 1 :(得分:-1)
无会话性能与会话需要之间的艰难折衷之一。 一种方法(有一定限制)是使用短期JWT和续订令牌吊销强制过期。