如何检测OAuth2刷新令牌何时过期

时间:2019-08-06 20:25:36

标签: oauth oauth-2.0 google-oauth onedrive refresh-token

访问Google Drive时,访问令牌可能会过期,我们可以使用刷新令牌来获取新的访问令牌。不过,有很多可能的原因,刷新令牌本身会停止工作或过期,请参见:

https://developers.google.com/identity/protocols/OAuth2#expiration

所以我的问题是,如果刷新令牌在6个月后过期,该怎么办?刷新访问令牌的请求是否失败,并且 403禁止,还是返回包含错误消息的JSON或其他?

不幸的是,很难找到关于此的任何信息,要测试它必须等待6个月...

解决方案:

感谢加里·阿彻斯(Gary Archers)的回答,我可以使用无效的刷新令牌来产生这种情况,这是我得到的响应,也许可以帮助其他人:

HTTP-status-code: 400
JSON:
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}

1 个答案:

答案 0 :(得分:1)

我见过的几乎所有实现都返回一个可以检查的已知错误代码'invalid_grant'。您可以通过在发送刷新令牌授予消息时将字符添加到刷新令牌中来进行测试。请参阅此页面上的步骤18:https://authguidance.com/2018/01/18/desktop-app-technical-workflow/