小编典典

“刷新令牌”的目的是什么?

all

我有一个与 YouTube Live Streaming API 集成的程序。它在计时器上运行,因此对我来说,使用刷新令牌每 50
分钟获取一个新的访问令牌相对容易。我的问题是,为什么?

当我通过 YouTube
进行身份验证时,它给了我一个刷新令牌。然后,我使用此刷新令牌大约每小时获取一次新的访问令牌。如果我有刷新令牌,我总是可以使用它来获取新的访问令牌,因为它永不过期。因此,我看不出这比从一开始就给我一个访问令牌而不是打扰整个刷新令牌系统更安全。


阅读 164

收藏
2022-06-29

共1个答案

小编典典

基本上,刷新令牌用于获取新的访问令牌。

为了清楚地区分这两个令牌并避免混淆,以下是OAuth 2.0 授权框架中给出的它们的功能:

  • 访问令牌 由授权服务器在资源所有者的批准下颁发给第三方客户端。客户端使用访问令牌访问资源服务器托管的受保护资源。
  • 刷新令牌
    是用于获取访问令牌的凭据。刷新令牌由授权服务器下发给客户端,用于在当前访问令牌失效或过期时获取新的访问令牌,或者获取范围相同或更窄的额外访问令牌。

现在,要回答您为什么仍然获得刷新令牌而不是仅仅保护访问令牌的问题,Internet
工程任务组在刷新令牌
中提供的主要原因是:

出于安全原因,refresh_token仅与授权服务器交换,而access_token与资源服务器交换。这降低了长期 access_token
在“一个小时内有效的访问令牌,具有一年有效或直到撤销有效的刷新令牌”与“在没有刷新的情况下有效直到撤销的访问令牌”中泄漏的风险令牌。”

有关 OAuth 2.0 Flow 的更详细和完整的信息,请尝试阅读以下参考资料:

2022-06-29