【问题标题】:JWT: why do I need a refresh token?JWT:为什么我需要刷新令牌?
【发布时间】:2016-09-11 16:43:40
【问题描述】:

我最近阅读了很多关于 JSON Web 令牌的内容。我看到的一件大事是,要根据上次访问设置超时,而不是硬超时,您需要使用单独的刷新令牌。我没有看到的一件事是 WHY。

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

【问题讨论】:

标签: jwt


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 2017-01-18
    • 2021-12-02
    • 2020-05-20
    • 2019-03-25
    • 2016-09-24
    • 2018-02-18
    • 2019-12-28
    相关资源
    最近更新 更多