如何使用 Social-auth-app-django 刷新令牌?

2023-12-12

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(使用前将#替换为@)

如何使用 Social-auth-app-django 刷新令牌? 的相关文章

随机推荐