- 我们在Google API控制台上有Google OAuth2 Web客户端
- 在Oauth Web客户端的帮助下,我们为每个用户获得刷新令牌(通过使用Web身份验证和Concert Screen(
- 我们将收到的刷新令牌存储到数据库中,系统用户将此用户特定的刷新令牌代表登录用户自动创建谷歌日历事件(我们有大约1000个用户(
问题:几天后,刷新令牌已自动过期,并出现以下错误。
{"错误":"invalid_grant";,"error_description":"令牌已过期或被吊销"}
当用户重新注册时,系统收到新的刷新令牌,所有东西都重新开始工作,但在一段时间后(不确定,但不到一两天(,他们再次开始获取令牌已过期或被吊销错误。
刷新令牌上是否有任何限制?使用同一API客户端获取刷新令牌有任何限制吗?(我们有1000名Gsuit或Gmail用户,他们使用自己的Gmail或Gsuit帐户单独注册了Refresh Token(是否有任何API更改以获得长期有效的刷新令牌?
谨致问候,DP-
您的问题
刷新令牌上是否有任何限制?
您可以授权一个用户并获得刷新令牌,然后再次授权同一用户并获得第二个刷新令牌。用户现在有两个未完成的刷新令牌,并且这两个令牌都可以工作。您最多可以这样做50次,并为此用户拥有50个未完成的刷新令牌。一旦你再次这样做,第一个将过期。
您可以为一个用户拥有50个独立的刷新令牌,因此,如果您要重新授权它们,请确保将存储在数据库中的刷新令牌替换为最新的刷新令牌。
使用同一API客户端获取刷新令牌有任何限制吗?(我们有1000名Gsuit或Gmail用户,他们使用自己的个人Gmail或Gsuit帐户单独注册了Refresh Token(
您的客户端可以授权任意数量的用户。系统可以拥有的用户数量没有限制。
是否有任何API更改以获得长期有效的刷新令牌?
我不知道
错误消息
这里可能会发生一些事情。
-
首先,用户有权通过他们的谷歌帐户撤销您的访问权限。在我看来,这可能就是正在发生的事情。
-
第二个问题是,它的10月和谷歌夏令时即将开始。几年前,夏令时到期的代币出现了问题。
-
第三个问题是,如果你的刷新令牌在过去六个月内没有使用过,它将被谷歌过期。
事实是,由于上述原因,刷新令牌并不完美。您的系统应该设计为在刷新令牌失败时处理此问题,然后简单地将其设置为再次请求用户访问。
{"错误":"无效_兰特","错误描述":"令牌已过期或被吊销。"}