我获得了Access Token&使用发布请求从Android应用程序刷新令牌,我已经读过刷新令牌永不过期的地方&然后我发现有25个刷新令牌的限制,
Google Developer Doc中的含义是什么:
"注意:在安全的长期存储中保存刷新令牌并继续使用它们>只要它们仍然有效。限制适用于每个客户端 - 用户组合以及所有客户端的每个用户发布的刷新令牌数量,并且这些限制是不同的。如果您的应用程序请求足够的刷新令牌>超过其中一个限制,则较旧的刷新令牌将停止工作。"
这意味着用户可以在25 Device Max上使用Google Api。 ? &安培;如果用户在+25设备上使用相同的帐户会怎样?
我计划拥有一个后台服务,一旦启动,将使用保存的刷新令牌自动获取访问令牌,以确保始终有一个有效的令牌,
感谢您的澄清
答案 0 :(得分:1)
如果您继续阅读此Google OAuth2 document的令牌过期部分,则可以看到所需的答案。 Google指出了应用程序架构中需要考虑的几个关键事项:
每个客户端+用户发布刷新令牌。这意味着对于给定的应用程序,每个客户每个用户可以获得25个刷新令牌。
在您的应用程序代码中将您授权的客户端数量限制为15或20,以防止丢弃先前为该特定客户端用户发布的刷新令牌(最早丢弃的先前)
一旦超过25的阈值,刷新令牌开始从给定客户端的可用刷新令牌的尾端开始下降
阈值不适用于您可能希望用于没有面向客户端UI的后端应用程序的服务帐户。这些通常是服务器端唯一的应用程序,可自动执行以下流程:数据传输,数据同步/协调等......
我会查看上面链接中提供的用例示例和文档,以便更好地了解如何解决相应应用类型的问题:Web服务器,客户端或已安装。
此外,如果他们的客户端库(在上面的链接页面底部提供),我强烈建议使用一个,因为这应该有助于简单实现。
答案 1 :(得分:0)
这不是问题。如果未使用刷新令牌for six months,它将变为无效,但理论上可以无限期地使用刷新令牌获取新的访问令牌。
这是主要问题。如果您将刷新令牌存储在用户的设备上,并且用户由于某种原因有26个设备,则第一个设备上的刷新令牌将在您获得第26个设备后变为无效。
最后,当刷新令牌由于某种原因停止工作并重新提示用户时,最好有一些回退代码。用户可能不会使用该设备六个月,他可能会revoke the app's access或因任何其他原因而停止工作。