1

私はdjangoにかなり慣れていないので、django-social-authに完全に慣れていません。私のsettings.pyコードはこれです(インストールされたアプリから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'

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を使用しようとしましたが、githubのGoogleを除いて同じエラーが表示されます。同様の質問をstackoverflowでも試しました。

できれば助けてください:)

4

1 に答える 1

3
  1. django_sociao_authのライブラリのバージョンを確認してください。「このライブラリは python-social-auth を支持して廃止されました。現在、このライブラリは python-social-auth に直接依存しており、移行ステップとして検討する必要があります」。SETTINGS_KEY_NAME = 'GITHUB_APP_ID' SETTINGS_SECRET_NAME = 'GITHUB_API_SECRET'クラスにいるかどうかも確認してください GithubAuth

  2. 次に、これを追加してみてください

    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',
    )
    
于 2013-10-07T02:29:46.367 に答える