人生几何?

关于OAuth 协议中刷新令牌存活时间的讨论

2021-09-17  本文已影响0人  _扫地僧_

OAuth 2.0 协议里,刷新令牌用于在当前访问令牌到期时获取新的访问令牌。 有关更多信息,请参阅 OAuth 2.0 RFC。

以 LinkedIn 提供的 API 为例。

LinkedIn 提供在固定时间段内有效的程序化刷新令牌。 默认情况下,访问令牌的有效期为 60 天,程序化刷新令牌的有效期为一年。 当刷新令牌过期时,成员必须重新授权您的应用程序。

当您使用刷新令牌生成新的访问令牌时,刷新令牌的生命周期或生存时间 (TTL) 与初始 OAuth 流中指定的相同(365 天),并且新的访问令牌具有新的 TTL 60 天。

例如,在:

and to clarify: if your access token expired, and it was refreshed using the refresh token --> that doesn’t make the refresh token duration reset. The refresh token’s timeout will continue to tick from the moment you first logged in.

刷新令牌可用于创建新的访问令牌并允许长时间无缝操作。

但是,由于技术或政策原因,领英保留随时撤销刷新令牌或访问令牌的权利。在这种情况下,利用刷新令牌的产品的期望是回退到标准 OAuth 流程,并将登录屏幕呈现给最终用户。

获取刷新令牌

使用授权代码流获取刷新令牌和访问令牌。 如果您的应用程序获得了编程刷新令牌的授权,则在您为访问令牌交换授权代码时将返回以下字段:

上一篇下一篇

猜你喜欢

热点阅读