用什么方法来判断用户是否连接到facebook

问题描述:

我正在使用django-social-auth来登录facebook。我可以使用“/ facebook/login”登录用户。但是,我需要检查用户是否在其他页面上使用Facebook登录。有没有在模块中的方法来检查用户是否使用Facebook登录?用什么方法来判断用户是否连接到facebook

感谢

您可以检查用户是否有任何的Facebook帐户,例如:

for usersocialauth in request.user.usersocialauth_set.all(): 
    print usersocialauth.provider 

你还不如让供应商列表供用户选择:

request.user.usersocialauth_set.values_list('provider') 

当心:在提交7f967702中引入了宇宙向后兼容性中断。阅读关于细节的回答评论。

+1

在提交[7f967702](https://github.com/omab/django-social-auth/commit/7f9677026a420955b29294b32e969704d122f996#L6R8),一个相关的名称被添加到'UserSocialAuth'。而不是'usersocialauth_set',你必须使用'social_auth'。 – 2012-03-19 15:55:15

更新了最新的Django/Python的 - 社会 - 身份验证

这个例子检查如果Facebook被链接到该帐户。将facebook替换为有效的后端名称。

'facebook' in user.social_auth.all().values_list("provider", flat=True)