【发布时间】:2016-04-21 12:57:36
【问题描述】:
我可以使用 facebook 和 google 成功登录,但我只能显示用户名。现在我也想显示用户名。我该怎么做。我读到Facebook默认不提供电子邮件ID等详细信息,需要请求此类详细信息。我已经添加了,但我不知道如何访问这些数据。 设置.py
SOCIAL_AUTH_FACEBOOK_KEY = '***'
SOCIAL_AUTH_FACEBOOK_SECRET = '***'
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
FACEBOOK_EXTENDED_PERMISSIONS = ['email']
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {
'locale': 'ru_RU',
'fields': 'id, name, email, age_range'
}
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '***'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '***'
GOOGLE_DISPLAY_NAME = ''
LOGIN_REDIRECT_URL = '/'
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'thirdauth',
'social.apps.django_app.default',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
)
AUTHENTICATION_BACKENDS = (
'social.backends.facebook.FacebookOAuth2',
'social.backends.google.GoogleOAuth2',
'social.backends.twitter.TwitterOAuth',
'django.contrib.auth.backends.ModelBackend',
)
views.py
context = RequestContext(request,
{'request': request,
'user': request.user})
return render_to_response('home.html',
context_instance=context)
如有任何帮助,将不胜感激。
【问题讨论】:
标签: python django facebook django-socialauth