Google Api 刷新令牌说明
Google Api Refresh Token Clarification
我使用 Post 请求从 Android 应用程序获得访问令牌和刷新令牌,我在某处读到刷新令牌永不过期,然后我看到有发行了 25 个刷新令牌的限制,
Google 开发者文档中的这个是什么意思:
"Note: Save refresh tokens in secure long-term storage and continue to use them >as long as they remain valid. Limits apply to the number of refresh tokens that >are issued per client-user combination, and per user across all clients, and these limits are different. If your application requests enough refresh tokens >to go over one of the limits, older refresh tokens stop working."
- 限制适用于刷新令牌 > 获取访问令牌操作?
- 限制适用于提示用户 > 获取刷新令牌操作?
这意味着用户可以在 25 台设备上使用 Google Api。 ? &如果用户在 +25 台设备上使用同一个帐户怎么办?
我计划有一个后台服务,一旦启动,将使用保存的刷新令牌自动获取访问令牌,以确保始终拥有有效的令牌,
感谢您的澄清
这不是问题。如果不使用刷新令牌for six months,它将失效,但理论上可以无限期地使用您的刷新令牌获取新的访问令牌。
这是主要问题。如果您将刷新令牌存储在您用户的设备上,并且由于某种原因用户有 26 台设备,那么当您获得第 26 台设备时,第一台设备上的刷新令牌将失效。
最后,当刷新令牌因某种原因停止工作并重新提示用户时,最好有一些回退代码。用户可能六个月不使用该设备,他可能 revoke the app's access 或者它可能因任何其他原因停止工作。
如果您继续阅读此 Google OAuth2 document 的令牌过期部分,您会看到您需要的答案。 Google 表示在您的应用程序架构中需要考虑的一些关键事项:
刷新令牌按客户端 + 用户发放。这意味着对于给定的应用程序,每个客户端的每个用户都可以获得 25 个刷新令牌。
在您的应用程序代码中将您授权的客户端数量限制为 15 或 20 个,以防止丢弃先前为该特定客户端用户颁发的刷新令牌(最老的首先丢弃)
一旦超过阈值 25,刷新令牌就开始从给定客户端的可用刷新令牌的尾端消失
该阈值不适用于服务帐户,您可能希望将其用于没有面向客户端的后端应用程序 UI。这些通常是仅服务器端应用程序,可自动执行以下过程:数据传输、数据 sync/reconciliation 等...
我会查看上面 link 中提供的适用于您的用例的示例和文档,以更好地了解如何解决相应应用类型的问题:Web 服务器、客户端或已安装.
此外,如果他们的客户端库(在上面 link 的页面底部可用),我强烈建议使用一个,因为这应该有助于简单地实施。
我使用 Post 请求从 Android 应用程序获得访问令牌和刷新令牌,我在某处读到刷新令牌永不过期,然后我看到有发行了 25 个刷新令牌的限制,
Google 开发者文档中的这个是什么意思:
"Note: Save refresh tokens in secure long-term storage and continue to use them >as long as they remain valid. Limits apply to the number of refresh tokens that >are issued per client-user combination, and per user across all clients, and these limits are different. If your application requests enough refresh tokens >to go over one of the limits, older refresh tokens stop working."
- 限制适用于刷新令牌 > 获取访问令牌操作?
- 限制适用于提示用户 > 获取刷新令牌操作?
这意味着用户可以在 25 台设备上使用 Google Api。 ? &如果用户在 +25 台设备上使用同一个帐户怎么办?
我计划有一个后台服务,一旦启动,将使用保存的刷新令牌自动获取访问令牌,以确保始终拥有有效的令牌,
感谢您的澄清
这不是问题。如果不使用刷新令牌for six months,它将失效,但理论上可以无限期地使用您的刷新令牌获取新的访问令牌。
这是主要问题。如果您将刷新令牌存储在您用户的设备上,并且由于某种原因用户有 26 台设备,那么当您获得第 26 台设备时,第一台设备上的刷新令牌将失效。
最后,当刷新令牌因某种原因停止工作并重新提示用户时,最好有一些回退代码。用户可能六个月不使用该设备,他可能 revoke the app's access 或者它可能因任何其他原因停止工作。
如果您继续阅读此 Google OAuth2 document 的令牌过期部分,您会看到您需要的答案。 Google 表示在您的应用程序架构中需要考虑的一些关键事项:
刷新令牌按客户端 + 用户发放。这意味着对于给定的应用程序,每个客户端的每个用户都可以获得 25 个刷新令牌。
在您的应用程序代码中将您授权的客户端数量限制为 15 或 20 个,以防止丢弃先前为该特定客户端用户颁发的刷新令牌(最老的首先丢弃)
一旦超过阈值 25,刷新令牌就开始从给定客户端的可用刷新令牌的尾端消失
该阈值不适用于服务帐户,您可能希望将其用于没有面向客户端的后端应用程序 UI。这些通常是仅服务器端应用程序,可自动执行以下过程:数据传输、数据 sync/reconciliation 等...
我会查看上面 link 中提供的适用于您的用例的示例和文档,以更好地了解如何解决相应应用类型的问题:Web 服务器、客户端或已安装.
此外,如果他们的客户端库(在上面 link 的页面底部可用),我强烈建议使用一个,因为这应该有助于简单地实施。