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

How to detect when an OAuth2 refresh-token expired

访问Google-Drive时,访问令牌可能会过期,我们可以使用刷新令牌来获取新的访问令牌。但是,有许多可能的原因导致刷新令牌本身停止工作或过期,请参阅:

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

所以我的问题是,如果 refresh-token 在 6 个月后过期,会发生什么情况,我如何检测到它?刷新访问令牌的请求是否因 403 forbidden 而失败,或者 return 包含错误消息的 JSON 或其他内容?

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

解法:

感谢 Gary Archers 的回答,我可以用无效的刷新令牌产生这种情况,这是我得到的响应,也许它对其他人有帮助:

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

我见过的几乎所有实现 return 您可以检查的已知错误代码 'invalid_grant'。您可以通过在发送刷新令牌授予消息时向刷新令牌添加字符来对此进行测试。请参阅 this blog post of mine

上的步骤 31