我正在开发一个应用程序,其中我需要访问多个谷歌日历。所有这些日历都来自不同的用户。现在我正在使用OAuth2进行同步。但据我所知,每个客户端ID只能生成25个刷新令牌。
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.
如建议的那样,我将刷新令牌保存在我的DB中。但我的问题是,如果我有更多的客户想同步他们的日历呢?有没有办法超越极限?当然没有我现在想到的只是创建更多的客户端ID。有什么建议吗?
1条答案
按热度按时间qnyhuwrf1#
它的100每个用户(客户端用户),如在用户的客户端。不是client_id。对于每个验证您的应用程序的人,您可以让他们最多验证50次。您收到的每个刷新令牌都将起作用。50号以后,第一个将停止工作。他们也将工作长达6个月,我想,如果它没有被使用了6个月,它将被无效。
您可以让尽可能多的人使用您的客户端(client_id),只要他们愿意验证您的身份。你不会有任何问题。
Google Oauth2文档在这里找到
令牌过期
您必须编写代码来预测已授予的令牌可能不再工作的可能性。令牌可能会因以下原因之一而停止工作:
·用户已撤销访问权限。
·该令牌已六个月未使用。
·用户更改了密码,令牌包含Gmail范围。
·用户帐户已超过一定数量的令牌请求。
当前,每个客户端的每个用户帐户的刷新令牌限制为50个。如果达到限制,则创建新令牌会自动使最旧的令牌无效,而不会发出警告。此限制不适用于服务帐户。
用户帐户或服务帐户在所有客户端上可以拥有的令牌总数也有更大的限制。大多数普通用户不会超过此限制,但开发人员的测试帐户可能会超过此限制。
如果您需要授权多个程序、计算机或设备,一种解决方法是将每个用户帐户授权的客户端数量限制为15或20。如果您是Google Apps管理员,则可以创建其他管理员用户,并使用这些用户对某些客户端进行授权。
问:你在哪里找到这个的?我想向谷歌报告它有点混乱
注意:将刷新令牌保存在安全的长期存储中,并在它们保持有效时继续使用它们。限制适用于每个客户端-用户组合和所有客户端中每个用户发出的刷新令牌数量,这些限制是不同的。如果您的应用程序请求的刷新令牌数量超过了其中一个限制,则较旧的刷新令牌将停止工作。