我使用Python Social Auth - Django登录我的用户。
我的后端是微软,所以我可以使用Microsoft Graph,但我认为这与此无关。
Python Social Auth处理身份验证,但现在我想调用API,为此,我需要一个有效的访问令牌。
use cases之后,我可以得到:

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秒,所以我需要刷新,我想我可以手动完成,但必须有更好的解决方案。
如何刷新访问令牌?

最佳答案

.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())

关于python - 如何使用social-auth-app-django刷新 token ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41466731/

10-12 21:37