关于google API中访问令牌和刷新令牌的问题
Posted
技术标签:
【中文标题】关于google API中访问令牌和刷新令牌的问题【英文标题】:Question about access token and refresh token in google API 【发布时间】:2020-09-06 10:55:36 【问题描述】:目前,我正在使用 OAuth 2.0 访问 Google API。我得到了访问令牌和刷新令牌,使用访问令牌连接到 Google。因为访问令牌只持续 1 小时,所以我必须使用刷新令牌来获取新的访问令牌。但是,阅读文档:
There is currently a limit of 50 refresh tokens per user account per client.
这是否意味着我的刷新令牌只能使用 50 次,或者我可以拥有 50 个不同的刷新令牌(我会认为是请求新授权)。我的英语不是那么好,所以很抱歉问这个问题。
【问题讨论】:
【参考方案1】:当用户对您的应用程序进行身份验证时,您将获得一个访问令牌和一个刷新令牌。如果用户随后再次验证您的应用程序,您将获得一个新的访问令牌和刷新令牌。两者都会起作用。这将持续最多 50 次,到第一个将过期。
所以
目前每个客户端每个用户帐户的刷新令牌限制为 50 个。
实际上意味着您的应用程序(客户端)每个用户帐户可以有 50 个工作刷新令牌。
这就是为什么如果您要存储刷新令牌,您应该在每次用户验证您的应用程序时更新它,以确保您拥有最新的令牌。或者更好的是,如果您已经为他们提供了刷新令牌,则停止要求用户对应用程序进行身份验证,但这并不总是可能的。
刷新令牌可以尽可能频繁地使用它们不会过期,除非它们没有使用一段时间(我认为是六个月)或者用户通过谷歌帐户删除了您的访问权限。
【讨论】:
以上是关于关于google API中访问令牌和刷新令牌的问题的主要内容,如果未能解决你的问题,请参考以下文章
(JAVA) Google API 分析 - 无法使用“刷新令牌”获取新的“访问令牌”
使用 OAuth 刷新令牌获取新的访问令牌 - Google API