JWT黑名单和会话的区别是什么?

3

实现登录流程时,由于我们的重点是扩展性,因此我选择了JWT。过去,该系统会在单体应用程序中基于会话令牌进行。JWT意味着我们不再需要为用户会话缓存服务器了。但现在我有些困惑:

如果我通过保留密钥的黑名单来解决撤销和令牌窃取的问题(这是建议),那么从上面的角度看,它与使用会话令牌没有区别,因为我每次请求都需要查询。

也许我没有充分理解或者想错了。也许-找不到已屏蔽的JWT的结果比完全检索要快。

感谢任何能够澄清这个问题的建议 :)

1个回答

1
如果你实现了一个黑名单令牌的功能,那么它与会话并没有太大的区别。你仍然需要查找令牌、更新黑名单、正确地复制等等。
更好的做法是使用有效期很短的访问令牌,比如5或15分钟。这个时间足够短,你可以接受某个人窃取令牌并在短时间内使用它的风险。然后你只需要保留少用的刷新令牌的黑名单即可。

谢谢。我也计划做那部分,但没有完全意识到这确实是您可以做的主要事情。可能是唯一的事情。 :) - bldcaveman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接