我们可以在 OAuth2Session 刷新令牌过期前 x 秒吗?



这个问题与authlib python模块有关:

我正在使用身份验证OAuth2Session来触发对 API 的大量请求。我为我的OAuth2Session提供了一个refresh_token_url,以便access_token在过期时无缝刷新。

大多数时候,它运行良好,但有时,我会收到 401 响应(令牌已过期(。 我怀疑的是:请求是在客户端触发的,因为令牌尚未过期,但是在服务器端处理此请求时它已过期......

这是我的问题: 有没有办法让OAuth2Session在令牌过期前 x 秒刷新其令牌? 是否可以向OAuth2Session添加一个整数属性以使此持续时间可配置?

作为 OAuth 客户端,有一个一般的最佳实践 - 如果你想要最可靠的体验:

  • 调用接口
  • 如果收到 401,请获取新令牌并重试 API 调用
  • 如果仍然收到错误,请向用户显示该错误

请注意,即使访问令牌未过期(例如客户端和服务器之间的 5 分钟时钟差异(或令牌签名证书已更改,也可能发生 401

下面是一些示例代码,以防它有所帮助。如果你很幸运,authlib会为你做这件事 - 如果不是,那么值得自己编码..

最新更新