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

我有一个与YouTube直播流API集成的程序。 它运行在定时器上,所以对于我来说,使用刷新令牌每隔50分钟编程一次就可以获取新的访问令牌。 我的问题是,为什么?

当我通过YouTube验证后,它给了我一个刷新令牌。 然后,我使用此刷新令牌每小时获得一次新的访问令牌。 如果我有刷新令牌,我总是可以使用它来获取新的访问令牌,因为它永不过期。 所以我不明白这比从一开始就给我一个访问令牌并且不打扰整个刷新令牌系统更安全。


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

要清楚区分这两个标记并避免混淆,请参阅OAuth 2.0授权框架中给出的函数:

  • 授权服务器在获得资源所有者的同意后向第三方客户端颁发访问令牌 。 客户端使用访问令牌访问资源服务器托管的受保护资源。
  • 刷新令牌是用于获取访问令牌的凭证。 刷新令牌由授权服务器发布给客户端,用于在当前访问令牌变得无效或到期时获得新的访问令牌,或者获得具有相同或更窄范围的额外访问令牌。
  • 现在,为了回答你为什么仍然发出刷新令牌的问题,而不仅仅是保护访问令牌,Internet工程任务组在刷新令牌中提供的主要原因是:

    有一个安全原因, refresh_token只与授权服务器交换,而access_token与资源服务器交换。 这可以减少长时间访问令牌在“一个小时内访问令牌有效,一年刷新令牌或好到无效”的情况下出现长时间访问令牌的风险“vs”没有刷新的有效访问令牌令牌“。

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

  • OAuth 2.0 Flow:服务器端Web应用程序
  • 互联网工程任务组(IETF)颁布的OAuth 2.0授权框架,
  • SO post - 为什么OAuth v2具有访问权限和刷新令牌?
  • 链接地址: http://www.djcxy.com/p/47961.html

    上一篇: What is the purpose of a "Refresh Token"?

    下一篇: MVC 5, Identity 2.0 Android Rest/Json Api