如何使用python social auth实现facebook身份验证?

时间:2014-08-24 13:02:35

标签: python django facebook python-social-auth

我遵循了本教程http://www.artandlogic.com/blog/2014/04/tutorial-adding-facebooktwittergoogle-authentication-to-a-django-application/并且我管理了Google Auth,但当我尝试注册为Facebook用户时,'http://localhost:8000/login/facebook'调用https://facebook.com/dialog/oauth,返回错误500 - 内部服务器错误。< / p>

这是我在settings.py中设置的内容:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    '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',

   'django.contrib.auth.backends.ModelBackend',
)

SOCIAL_AUTH_FACEBOOK_KEY = 'xxxxxxxxxxxxxxx'
SOCIAL_AUTH_FACEBOOK_SECRET = 'xxxxxxxxxxxxxx'
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
LOGIN_REDIRECT_URL = '/'
在urls.py中

   url('', include('social.apps.django_app.urls', namespace='social')),
   url('', include('django.contrib.auth.urls', namespace='auth')),

https://developers.facebook.com/apps我创建了新的应用程序,我添加了一个新的平台(网站),我设置的网址

http://localhost:8000

我忘记了吗?

1 个答案:

答案 0 :(得分:2)

试试这个

您正在尝试使用loaclhost:8000网址进行身份验证。哪个FB不支持localhost地址。因此,请更改本地主机地址以定义域。

喜欢

  

domain.com:8000