2013-10-07 3 views
1

Я довольно новичок в django и полностью noob в django-social-auth. Мой settings.py код это (От установлено приложение к social_auth_config):Django Social WrongBackend Error

DJANGO_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'django.contrib.admindocs', 
) 

THIED_PARTY_APPS = (
    #'south', 
    'captcha', 
    'social_auth', 
) 

MY_APPS = (
    'account', 
    'dashboard', 
) 

INSTALLED_APPS = DJANGO_APPS + THIED_PARTY_APPS + MY_APPS 
#------------------------------------------------- Social auth ------------------- 
LOGIN_URL = 'account/login/' 
LOGIN_REDIRECT_URL = 'dashboard/' 
LOGIN_ERROR_URL = '/login/' 

AUTHENTICATION_BACKENDS = (
    'social_auth.backends.contrib.github.GithubBackend', 
    'django.contrib.auth.backends.ModelBackend', 
) 
TEMPLATE_CONTEXT_PROCESSORS = (
    "social_auth.context_processors.social_auth_by_type_backends", 
    "django.contrib.auth.context_processors.auth", 
) 
SOCIAL_AUTH_DEFAULT_USERNAME = 'nal_auth_user' 
SOCIAL_AUTH_UID_LENGTH = 16 
SOCIAL_AUTH_ASSOCIATION_HANDLE_LENGTH = 16 
SOCIAL_AUTH_NONCE_SERVER_URL_LENGTH = 16 
SOCIAL_AUTH_ASSOCIATION_SERVER_URL_LENGTH = 16 
SOCIAL_AUTH_ASSOCIATION_HANDLE_LENGTH = 16 
SOCIAL_AUTH_ENABLED_BACKENDS = ('github',) 
GITHUB_API_KEY = '2f1129e79efd4263bf88' 
GITHUB_API_SECRET = '6f4cea73e6100d0a994fa5bfff44f7220432c87d' 

В urls.py:

from django.conf.urls import patterns, include, url 
from django.contrib import admin 

admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^$', 'website.views.index', name='index'), 
    url(r'auth/',include('social_auth.urls')), 
    url(r'account/',include('account.urls',namespace="account")), 
    url(r'dashboard/',include('dashboard.urls',namespace="dashboard")), 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
) 

В account.models страницу входа у меня есть это, чтобы показать URL входа ..

<a href="{% url 'socialauth_begin' 'github' %}">Login with GitHub</a> 

Но проблема когда-либо я нажмите на эту ссылку, дает мне эту ошибку

WrongBackend at /auth/login/github/ 
Incorrect authentication service "github" 
Request Method: GET 
Request URL: http://127.0.0.1:8000/auth/login/github/ 
Django Version: 1.5.4 
Exception Type: WrongBackend 
Exception Value:  
Incorrect authentication service "github" 

Я попытался использовать Google, и она дает мне ту же ошибку, кроме gitub, ее google. Я также пробовал подобные вопросы в stackoverflow.

Пожалуйста, помогите мне, если можно :)

+1

называется '' GITHUB_APP_ID' ​​не GITHUB_API_KEY'. – omab

+0

Спасибо! Оно работает. – ddiipp

ответ

3
  1. проверить версию библиотеки django_sociao_auth, как «Эта библиотека DEPRECATED В ПОЛЬЗУ питона-социал-AUTH. ПРЯМО СЕЙЧАС ЭТА БИБЛИОТЕКА ЗАВИСИТ НЕПОСРЕДСТВЕННО НА python-social-auth И ДОЛЖНЫ БЫТЬ РАССМОТРЕНЫ КАК МИГРАЦИОННЫЙ ШАГ ». Также проверьте, если SETTINGS_KEY_NAME = 'GITHUB_APP_ID' SETTINGS_SECRET_NAME = 'GITHUB_API_SECRET' в классе GithubAuth

  2. попробуйте добавить это Github установка приложения ID

    SOCIAL_AUTH_PIPELINE = (
         'social_auth.backends.pipeline.social.social_auth_user', 
         'social_auth.backends.pipeline.associate.associate_by_email', 
         'social_auth.backends.pipeline.misc.save_status_to_session', 
         'social_auth.backends.pipeline.user.create_user', 
         'social_auth.backends.pipeline.social.associate_user', 
         'social_auth.backends.pipeline.social.load_extra_data', 
         'social_auth.backends.pipeline.user.update_user_details', 
         'social_auth.backends.pipeline.misc.save_status_to_session', 
    ) 
    
+0

Еще одна проблема. Есть ли еще хорошая библиотека авторизации python? По крайней мере, твиттер, facebook, Google? – ddiipp

Смежные вопросы