用什么方法来判断用户是否连接到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中引入了宇宙向后兼容性中断。阅读关于细节的回答评论。
答
更新了最新的Django/Python的 - 社会 - 身份验证
这个例子检查如果Facebook被链接到该帐户。将facebook替换为有效的后端名称。
'facebook' in user.social_auth.all().values_list("provider", flat=True)
在提交[7f967702](https://github.com/omab/django-social-auth/commit/7f9677026a420955b29294b32e969704d122f996#L6R8),一个相关的名称被添加到'UserSocialAuth'。而不是'usersocialauth_set',你必须使用'social_auth'。 – 2012-03-19 15:55:15