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

时间:2016-09-11 16:43:41

标签: jwt

我最近一直在阅读很多关于JSON网络令牌的内容。我看到的一件大事是,根据上次访问而不是硬超时来超时,您需要使用单独的刷新令牌。我没看到的一件事就是为什么。

为什么需要单独的令牌?为什么不在每次收到初始令牌时刷新最后一个访问值?无论如何,仍然可以保留初始访问时间并建立更长的硬超时。

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

1 个答案:

答案 0 :(得分:1)

关于如何实现JWT有很多选择,其中的大部分内容都是您的要求以及您希望应用程序的行为方式。

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

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