从Python Social Auth获取访问令牌

11 投票
2 回答
7217 浏览
提问于 2025-04-18 09:47

我在我的网站上实现了Python Social Auth,现在我想在用户登录后获取他们的访问令牌。我在Django的管理后台看到有一个叫extra_data的字段,里面包含了访问令牌,但我不知道怎么在我的代码中访问它。

有没有什么办法?

我想做的事情和Django Social Auth中可以做到的类似:http://django-social-auth.readthedocs.org/en/latest/tokens.html

2 个回答

2

这是一个链接,指向一个关于如何使用Python进行社交认证的文档,具体是关于如何获取Google好友的信息。你可以点击这个链接查看详细内容。

user = User.objects.get(...)
social = user.social_auth.get(provider='google-oauth2')
response = requests.get(
    'https://www.googleapis.com/plus/v1/people/me/people/visible',
    params={'access_token': social.extra_data['access_token']}
)
36

给定一个用户实例,你可以通过下面的方式获取令牌:

social = user.social_auth.get(provider='provider name')
social.extra_data['access_token']

假设使用的是Facebook的服务:

social = user.social_auth.get(provider='facebook')
social.extra_data['access_token']

撰写回答