几天以来,刷新令牌已自动过期

时间:2020-10-11 19:32:57

标签: oauth google-api access-token google-authentication refresh-token

  1. 我们在Google API控制台上拥有Google OAuth2 Web客户端
  2. 借助Oauth Web客户端,我们为每个用户获取刷新令牌(通过使用Web身份验证和音乐会屏幕)
  3. 我们将收到的刷新令牌存储到数据库中,并且系统用户将此用户特定的刷新令牌存储为已登录用户(我们大约有1000个用户)自动创建Google日历事件

问题:自几天以来,刷新令牌已自动过期并出现以下错误。

{ “错误”:“ invalid_grant”, “ error_description”:“令牌已过期或吊销。” }

当用户重新注册时,系统收到新的刷新令牌,并且一切再次开始工作,但是一段时间(不确定,但在不到一两天的时间内)后,他们再次开始获得令牌已过期或被撤销的错误。

刷新令牌上是否存在任何限制? 使用Same API Client获取刷新令牌是否有任何限制? (我们有1000位Gsuit或Gmail用户,他们使用其个人Gmail或Gsuit帐户分别注册了刷新令牌) 是否需要进行API更改才能获得长寿的Refresh令牌?

关于, DP

1 个答案:

答案 0 :(得分:0)

您的问题

刷新令牌上是否存在任何限制?

您可以授权用户并获得刷新令牌,然后再次授权同一用户并获得第二个刷新令牌。用户现在具有两个未完成的刷新令牌,并且都可以工作。您最多可以执行五十次,并为此用户拥有五十个未完成的刷新令牌。再次执行后,第一个将过期。

您可以为用户提供五十个醒目的刷新令牌,因此,如果您要重新授权它们,请确保使用最新的刷新令牌替换数据库中存储的刷新令牌。

使用Same API Client获取刷新令牌是否有任何限制? (我们有1000位Gsuit或Gmail用户,他们已经使用其个人Gmail或Gsuit帐户分别注册了刷新令牌)

您的客户端可以授权任意数量的用户。您的系统可以拥有的用户数量没有限制。

是否需要进行API更改才能获得长寿的Refresh令牌?

不是我知道的

错误消息

这里可能发生几件事。

  1. 首先是用户有权通过其Google帐户撤消您的访问权限。在我看来,这可能正在发生。

  2. 第二个问题是10月和Google的夏令时开始了。几年前,夏时制的令牌失效。

  3. 第三个问题是,如果您的刷新令牌在过去六个月中未使用过,则它将在Google过期。

问题的事实是,由于上述原因,刷新令牌并不完美。如果刷新令牌失败,则应将您的系统设计为处理此问题,然后简单地将其设置为要求用户再次访问。

{“ error”:“ invalid_grant”,“ error_description”:“令牌已过期或吊销。” }