我正在尝试使用 Twitter、GitHub、Google 和 Facebook 添加身份验证,django-social-auth
但我期望的后端不可用。
按照说明书安装:
AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.contrib.github.GithubBackend',
'social_auth.backends.facebook.FacebookBackend',
'social_auth.backends.google.GoogleOAuthBackend',
'social_auth.backends.google.GoogleOAuth2Backend',
'social_auth.backends.google.GoogleBackend',
# ....unnecessary backends
'guardian.backends.ObjectPermissionBackend',
'django.contrib.auth.backends.ModelBackend',
)
TWITTER_CONSUMER_KEY = ''
TWITTER_CONSUMER_SECRET = ''
FACEBOOK_APP_ID = ''
FACEBOOK_APP_SECRET = ''
GOOGLE_CONSUMER_KEY = ''
GOOGLE_CONSUMER_SECRET = ''
GOOGLE_OAUTH2_CLIENT_ID = ''
GOOGLE_OAUTH2_CLIENT_SECRET = ''
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'
LOGIN_ERROR_URL = '/login/'
SOCIAL_AUTH_FORCE_POST_DISCONNECT = True
SOCIAL_AUTH_FIELDS_STORED_IN_SESSION = ['next',]
在 template: 中添加了 URL,{% url socialauth_begin 'twitter' %}, {% url socialauth_begin 'github' %} etc
直到这里都很好。
但是当我点击链接时 - 它给了我错误:Incorrect authentication service "twitter"
根据手册,我检查了以下内容,social_auth.backends.BACKENDS
它只有以下内容:{'openid': <class 'social_auth.backends.OpenIdAuth'>}
为什么我启用的后端不存在,为什么有一个我实际上没有启用的后端?
PS:python 2.7.3,django 1.4.5,django-social-auth 0.7.19