I use Python 社交身份验证 - Django登录我的用户。
我的后端是微软,所以我可以使用微软图谱但我认为这不相关。
Python Social Auth 处理身份验证,但现在我想调用 API,为此,我需要一个有效的访问令牌。
继用例我可以做到这一点:
social = request.user.social_auth.get(provider='azuread-oauth2')
response = self.get_json('https://graph.microsoft.com/v1.0/me',
headers={'Authorization': social.extra_data['token_type'] + ' '
+ social.extra_data['access_token']})
但是访问令牌的有效期只有3600秒,所以我需要刷新,我想我可以手动完成,但必须有更好的解决方案。
如何刷新 access_token?
.get_access_token(strategy)
如果令牌过期,则自动刷新令牌。你可以这样使用它:
from social_django.utils import load_strategy
#...
social = request.user.social_auth.get(provider='google-oauth2')
access_token = social.get_access_token(load_strategy())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)