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

JWT:为什么我需要刷新令牌?,jwt,Jwt,我最近读了很多关于JSON web标记的文章。我看到的一件大事是,要基于上次访问设置超时,而不是硬超时,您需要使用单独的刷新令牌。我唯一不明白的是为什么 为什么需要单独的代币?为什么不在每次接收时都刷新初始令牌中的最后一个访问值呢?初始访问时间仍然可以保留,并且不管如何,都可以建立更长的硬超时 有人能解释为什么刷新令牌更可取吗?谢谢。关于如何实现JWT,有很多选择,其中大部分归结为您的需求以及您希望应用程序如何运行 我的猜测是,在大型应用程序中,每次重新发布令牌并在前端进行更新不会有好的效果。您

我最近读了很多关于JSON web标记的文章。我看到的一件大事是,要基于上次访问设置超时,而不是硬超时,您需要使用单独的刷新令牌。我唯一不明白的是为什么

为什么需要单独的代币?为什么不在每次接收时都刷新初始令牌中的最后一个访问值呢?初始访问时间仍然可以保留,并且不管如何,都可以建立更长的硬超时


有人能解释为什么刷新令牌更可取吗?谢谢。

关于如何实现JWT,有很多选择,其中大部分归结为您的需求以及您希望应用程序如何运行

我的猜测是,在大型应用程序中,每次重新发布令牌并在前端进行更新不会有好的效果。您必须完全替换令牌,因为最后一个访问时间戳是有效负载的一部分,因此,如果更改有效负载的任何部分,有效负载的签名将不同。如果它不是令牌的一部分,那么它可以在前端访问,并且可以很容易地更改为允许无限访问

刷新令牌通常与OAuth2关联。设置一个授权服务器来发布令牌提供了一个很好的职责划分,并以文档化、基于标准的方式抽象出应用程序中相当大的一部分。它还允许您撤销刷新令牌,从而可以撤销用户的访问权(尽管不是立即撤销)。最重要的是,它允许您对每个请求使用相同的访问令牌,而无需重新发出该令牌。

可能存在的副本