我需要了解来自OAuth 2.0的Google数据刷新令牌是否已过期(如果未使用超过6个月)?
在很多地方,人们都说它不会过期,而在某些地方,如果不使用6个月,它就会过期。
例如,在this question中,接受的答案表示它永远不会过期,但是其中一项注释表明,如果在6个月内不使用它可以过期。
This Google doc指出刷新令牌将永不过期,而this doc说刷新令牌如果不使用6个月则可以过期。
尽管由于某种原因我正在使用安全检查来检查刷新令牌已过期的情况,但仍要确保我正确理解该行为。
最佳答案
您是正确的,两个页面Using OAuth 2.0 for Web Server Applications和Using OAuth 2.0 to Access Google APIs没有相同的信息。
使用OAuth 2.0访问Google API是正确的。
您应该编写代码以预期出现以下情况的可能性:
授予的令牌可能不再起作用。令牌可能会停止工作一个
这些原因:
用户已撤消访问权限。
代币还没有
已经使用了六个月。
用户帐户已超过一定
令牌请求数。
每个Google用户帐户当前最多只能有25个令牌。如果用户
帐户有25个有效令牌,下一个身份验证请求成功,
但是悄无声息地使最旧的未到期令牌无效
用户可见的警告。
如果您需要授权多个程序,机器或设备,则一个
解决方法是限制您授权的每个客户端的数量
用户帐户数为15或20。如果您是Google Apps管理员,则可以
创建其他管理员用户并使用它们来授权一些
客户。
6个月未使用的刷新令牌将过期。
我已经在第一个URL上发送了一个错误报告。 Google应该在下次查看文档时清除差异。
关于oauth - OAuth 2.0刷新 token 是否完全过期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23780616/