我正在使用Authlib==0.11
和loginpass==0.2.1
,并通过以下方式设置和配置Flask应用程序。
app.config['GOOGLE_CLIENT_ID'] = os.environ.get('GOOGLE_CLIENT_ID')
app.config['GOOGLE_CLIENT_SECRET'] = os.environ.get('GOOGLE_CLIENT_SECRET')
app.config['GOOGLE_CLIENT_KWARGS'] = dict(
scope=' '.join([
'openid',
'https://www.googleapis.com/auth/userinfo.profile',
])
)
oauth = OAuth()
oauth.init_app(
app,
fetch_token=authlib_fetch_token,
update_token=authlib_update_token,
)
google_blueprint = create_flask_blueprint(
Google,
oauth,
authlib_handle_authorize,
)
app.register_blueprint(google_blueprint, url_prefix='/google')
上述两个authlib函数均来自Authlib's documentation。 3600秒后,令牌过期时,我的authlib_update_token
永不会被调用。我发现令牌已过期的唯一方法是,在我的下一个请求中,Authlib客户端会引发InvalidTokenError
异常。
我不确定Authlib,loginpass,我的应用程序的配置或其他方面是否有问题。有任何调试建议吗?