代币必须是一个短暂的代币,并且在合理的时间范围内


Token must be a short-lived token and in a reasonable timeframe

我遇到了与此相同的错误。在我的情况下,当应用程序试图通过谷歌云客户端API上传文件时,就会发生这种情况。

POST https://www.googleapis.com/oauth2/v4/token
400 Bad Request
Invalid JWT: Token must be a short-lived token and in a reasonable timeframe

我加载令牌的方式是读取一个服务帐户json文件,并将其附加到PHP中的CURLOPT_HTTPHEADER。在过去的一个月里,它确实正常工作,所以我猜谷歌改变了授权方式。

有人面对过&解决了这个问题?

我大致在同一时间偶然发现了同样的问题,所以我预计谷歌会出现一个通用错误,但我的电脑上发生了以下情况:

raise HttpAccessTokenRefreshError(error_msg, status=resp.status)
oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: Invalid JWT: Token must be a short-lived token and in a reasonable timeframe

在我的情况下,是由于执行代码时计算机时钟同步性差,延迟了5分钟(由于内部时钟的电池故障)。当我手动将计算机的内部时间更改为正确的时间时,它又开始工作了。

这里提到了这个解决方案,但没有完整的错误消息

我遇到了同样的问题,我发现我的服务器延迟了8分钟。我配置了NTP服务器,神奇地解决了

对于那些在容器化应用程序中出现错误并最终出现在此处的人,

我在使用容器化应用程序中的令牌时也遇到了同样的问题。重启Docker Desktop(Windows)为我做到了。

在第一次遇到这个问题之前,我已经设置了好几个星期了。

遇到了相同的问题。。。。手动将我电脑的时钟重置为当前时间。。。。问题解决了。

对于那些使用流浪者,ssh进入您的盒子并运行sudo service ntp stop && sudo ntpd -gq && sudo service ntp

我被这个问题困扰了好几个小时。我甚至发布了这个问题。事实证明,我忽略了一些本应显而易见的东西。我的开发服务器是一台Linux虚拟机。我的虚拟机上的时钟比我的本地系统时钟晚了8天。因此,虽然我的本地时钟是正确的,但我忽略了虚拟机延迟了几天的事实。希望这能为心不在焉的人节省一些时间。

我在使用Windows Subsystem for Linux(WSL)时遇到了这个问题。我所有的WSL图像都是以过去设置的日期运行的,https://github.com/microsoft/WSL/issues/4245表明Windows从睡眠状态恢复时会出现问题。

我通过重新启动WSL、wsl --shutdown 来修复

我在尝试访问google云大查询API时遇到了类似的问题。调整我的系统时钟并允许windows 10自动设置时间和时区解决了这个问题。

我遇到了类似的问题,我的工作一直失败,错误如下:

  File "/usr/local/lib/python2.7/site-packages/google/oauth2/_client.py", line 59, in _handle_error_response
    error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems.', u'{'n  "error" : "invalid_grant",'n  "error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."'n}')
2018-05-1713:01:01:  API CALL iOS intra day: module failed.

实际的根本原因是系统时间与服务器不同步。我已经刷新了同步时间的ntp服务器,问题已经解决。

这听起来很明显,但请确保过期exp在时间iat发布之后。