ddiipp
ddiipp

Reputation: 205

Django Social WrongBackend Error

I am pretty new into django and fully noob into django-social-auth. My settings.py code is this (From installed app to social_auth_config) :

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'

In 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)),
)

In account.models login page i have this to show login url..

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

But problem is when ever i click that link it gives me this error

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"

I tried to use google and its gives me the same error except in github its google. I also tried similar questions in stackoverflow.

Please help me if you can :)

Upvotes: 1

Views: 396

Answers (1)

amyangfei
amyangfei

Reputation: 96

  1. check the version of the library of django_sociao_auth, as "THIS LIBRARY IS DEPRECATED IN FAVOR OF python-social-auth. RIGHT NOW THIS LIBRARY DEPENDS DIRECTLY ON python-social-auth AND SHOULD BE CONSIDERED AS A MIGRATION STEP". Also check if SETTINGS_KEY_NAME = 'GITHUB_APP_ID' SETTINGS_SECRET_NAME = 'GITHUB_API_SECRET' are in class GithubAuth

  2. then try to add this

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

Upvotes: 3

Related Questions