到目前为止,我只需要 oauth2 来登录,但我觉得要相当完整,我的应用程序仍应处理刷新令牌。
我对 oauth 还很陌生,所以这是我的理解:
通过保持访问令牌的生命周期较短,但刷新令牌的生命周期较长,您可以强制客户端定期“签入”以更新访问令牌,从而保持更多的控制权。
但是如何使用 authlib 和烧瓶集成来实际做到这一点?
FlaskRemoteApp 上似乎没有 refresh_token(),而且我还没有找到任何显示此的示例代码。
这似乎可以得到一个新的令牌
res = oauth.myOauth2.fetch_access_token(refresh_token=session['tok_res']['refresh_token'])
session['tok_res'].update(res)
但是在随后使用新的 access_token 进行 api 调用时失败。
我想可能是服务器错误,或者我需要等待旧令牌过期才能使用新令牌?expires_at 时间不断更新,在这种情况下对我来说毫无意义。
如果有人能解释 refresh_token 打算如何与 authlib 和烧瓶一起使用,那就太好了。