强制到期JWT

时间:2018-09-28 13:41:09

标签: security session jwt

  

问题陈述:-

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

  

问题:-

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

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

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

  

选项

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

  2. 当用户单击注销时,维护一个列入黑名单的JWT列表,并将其与之后的每个请求进行比较。这违背了智威汤逊的全部目的。 这种方法不具有可伸缩性,并且实现不佳。

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

2 个答案:

答案 0 :(得分:1)

这里回答了类似的问题:

https://stackoverflow.com/a/23089839/6529424

与您已经提出的解决方法相同的想法。

答案 1 :(得分:-1)

无会话性能与会话需要之间的艰难折衷之一。 一种方法(有一定限制)是使用短期JWT和续订令牌吊销强制过期。