我已经开始使用https://github.com/omab/django-social-auth并成功通过twitter,google和facebook登录。
需要
我需要查询登录用户以执行更多操作,我将使用哪种模型?
我没有看到任何关于
的例子谢谢
更新
@login_required
def done(request):
"""Login complete view, displays user data"""
ctx = {
'version': version,
'last_login': request.session.get('social_auth_last_login_backend')
}
logging.warn('context - ' + str(ctx))
logging.warn('request - ' + str(request))
return render_to_response('home.html', ctx, RequestContext(request))
您能告诉我如何在此处访问用户实例?
谢谢
答案 0 :(得分:6)
该应用使用UserSocialAuth
模型存储社交帐户详细信息,以检索任何实例:
user.social_auth.filter(provider="...")
其中:
user
是用户实例(当前登录用户为request.user
)provider
是一个包含提供者名称(facebook,twitter等)的字符串 UserSocialAuth
实例存储所需的令牌以调用所需的API:
print user_social_auth.tokens
{...}
答案 1 :(得分:1)
根据K-man的建议,你可以试试这个(Identifying the backend provider of a logged in user):
request.user.social_auth.values_list('provider')
您可以在values_list中找到的其他值包括: ID , uid (例如,Facebook用户ID),用户,< strong> extra_data (包含 access_token )