“刷新令牌”的目的是什么?
我有一个与YouTube直播流API集成的程序。 它运行在定时器上,所以对于我来说,使用刷新令牌每隔50分钟编程一次就可以获取新的访问令牌。 我的问题是,为什么?
当我通过YouTube验证后,它给了我一个刷新令牌。 然后,我使用此刷新令牌每小时获得一次新的访问令牌。 如果我有刷新令牌,我总是可以使用它来获取新的访问令牌,因为它永不过期。 所以我不明白这比从一开始就给我一个访问令牌并且不打扰整个刷新令牌系统更安全。
基本上,刷新令牌用于获取新的访问令牌。
要清楚区分这两个标记并避免混淆,请参阅OAuth 2.0授权框架中给出的函数:
现在,为了回答你为什么仍然发出刷新令牌的问题,而不仅仅是保护访问令牌,Internet工程任务组在刷新令牌中提供的主要原因是:
有一个安全原因, refresh_token
只与授权服务器交换,而access_token
与资源服务器交换。 这可以减少长时间访问令牌在“一个小时内访问令牌有效,一年刷新令牌或好到无效”的情况下出现长时间访问令牌的风险“vs”没有刷新的有效访问令牌令牌“。
有关OAuth 2.0 Flow的更详细和完整的信息,请尝试阅读以下参考资料: