JWT: 为什么需要刷新令牌?

3

最近我一直在研究JSON Web Token。一个重要的事情是,为了基于上次访问时间而不是硬性超时设置超时时间,需要使用单独的刷新令牌。但是,唯一我不明白的是为什么需要单独的刷新令牌。

为什么需要单独的令牌?为什么不能每次接收到初始令牌时刷新上次访问时间值?初始访问时间仍然可以被保留,并建立更长的硬超时。


可能是为什么OAuth v2有访问和刷新令牌?的重复问题。 - cassiomolin
1个回答

2
有很多实现JWT的选项,大部分取决于您的要求以及您希望应用程序如何运行。我猜每次重新发行令牌并在前端进行更新在大型应用程序中表现不佳。您必须完全替换令牌,因为最后访问时间戳是负载的一部分,因此如果更改负载的任何部分,则负载的签名将不同。如果它不是令牌的一部分,则可以在前端访问并轻松更改以允许无限制访问。
刷新令牌通常与OAuth2相关联。设置授权服务器来发出令牌提供了良好的责任分工,并以经过良好记录和基于标准的方式抽象出您应用程序的相当大的一部分。它还允许您撤销刷新令牌,从而使您能够撤销用户的访问(虽然不是立即)。最重要的是,它允许您在每个请求中使用相同的访问令牌,而无需重新发行该令牌。

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