2016-02-23 2 views
0

Я прочитал несколько веб-страниц и написал следующие коды. Но когда я попытался передать разрешение с помощью facebook, это появилось на моем терминале.python-social-auth "facebook Процесс аутентификации отменен"

"GET/Войти/facebook /? Следующая =/HTTP/1.1" 302 0 Процесс аутентификации отменен

settings.py

# -*- coding: utf-8 -*- 
import os 
import pymysql 
pymysql.install_as_MySQLdb() 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 


# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = '4hqhqj51j13j1.....' 

# SECURITY WARNING: don't run with debug turned on in production! 

# when we develop in testcase 
# DEBUG = True 
# ALLOWED_HOSTS = [] 

# when we release our site 
DEBUG = False 
ALLOWED_HOSTS = ['*'] 


# Application definition 

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'myapp', 
    'debug_toolbar', 
    'social.apps.django_app.default', 
] 

MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'social.apps.django_app.middleware.SocialAuthExceptionMiddleware' 
] 

ROOT_URLCONF = 'mysite.urls' 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates'),], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       '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', 
      ], 
     }, 
    }, 
] 


WSGI_APPLICATION = 'mysite.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db/django.sqlite3'), 
    }, 
} 


# Password validation 
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators 

AUTH_PASSWORD_VALIDATORS = [ 
    { 
     'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 
    }, 
] 

AUTHENTICATION_BACKENDS = (
    'social.backends.open_id.OpenIdAuth', 
    'social.backends.twitter.TwitterOAuth', 
    'social.backends.facebook.FacebookOAuth2', 
    'django.contrib.auth.backends.ModelBackend', 
) 


SOCIAL_AUTH_URL_NAMESPACE = 'social' 
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/home/' 
SOCIAL_AUTH_LOGIN_URL = '/' 
SOCIAL_AUTH_LOGIN_ERROR_URL = '/' 
SOCIAL_AUTH_FACEBOOK_KEY = 'Your facebook Key' 
SOCIAL_AUTH_FACEBOOK_SECRET = 'Your facebook Secret' 
SOCIAL_AUTH_FACEBOOK_APP_KEY = '' 
SOCIAL_AUTH_FACEBOOK_APP_SECRET = '' 
SOCIAL_AUTH_FACEBOOK_APP_NAMESPACE = '' 
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email'] 
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = { 
    'local': 'ja_JP', 
    'fields': 'id, name, email, are_range', 
    } 
SOCIAL_AUTH_TWITTER_KEY = 'Your Twitter Key' 
SOCIAL_AUTH_TWITTER_SECRET = 'Your Twitter Secret' 


# Internationalization 
# https://docs.djangoproject.com/en/1.9/topics/i18n/ 

LANGUAGE_CODE = 'jp-JP' 

TIME_ZONE = 'Asia/Tokyo' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 

FILE_CHARSET = 'utf-8' 

DEFAULT_CHARSET = 'utf-8' 

# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 

#STATIC_ROOT = os.path.join(BASE_DIR, "static") 
APP_DIR = os.path.join(BASE_DIR, 'myapp') 
STATIC_URL = '/static/' 


STATICFILES_DIRS = (
    #os.path.join(BASE_DIR, 'static'), 
    os.path.join(APP_DIR, 'static'), 
) 


STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    #'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 

#MEDIA_ROOT = os.environ.get(“OPENSHIFT_DATA_DIR’, ”) 
#MEDIA_URL = ‘/media/’ 

views.py

# -*- coding: utf-8 -*- 
from django.shortcuts import render 
from django.shortcuts import redirect 
from django.shortcuts import get_object_or_404 
from django.views import generic 
from django.forms import modelformset_factory 
from django.contrib.auth import logout as auth_logout 
from django.contrib.auth.decorators import login_required 
from django.shortcuts import render_to_response 
from django.contrib.auth import logout as auth_logout 
from django.contrib.auth.decorators import login_required 

def login(request): 
    # context = RequestContext(request, { 
    #  'request': request, 'user': request.user}) 
    # return render_to_response('login.html', context_instance=context) 
    return render(request, 'myapp/login/login.html') 


@login_required(login_url='/') 
def home(request): 
    return render_to_response('/myapp/login/home.html') 


def logout(request): 
    auth_logout(request) 
    return redirect('/') 

urls.py

# -*- coding: utf-8 -*- 
from django.conf.urls import url 
from django.conf.urls import include 
from django.contrib import admin 
from myapp.views import login 
from myapp.views import home 
from myapp.views import logout 


urlpatterns = [ 
    url(r'^myapp/', include('myapp.urls')), 
    url(r'^admin/', admin.site.urls), 
    url(r'', include('social.apps.django_app.urls', namespace='social')), 
    url(r'', include('django.contrib.auth.urls', namespace='auth')), 
    #url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', login, name='login'), 
    url(r'^home/$', home, name='home'), 
    url(r'^logout/$', logout, name='logout'), 
] # + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

MyApp/login.html

<html> 
<body> 
{% if user and not user.is_anonymous %} 
    <a>Hello, {{ user.get_full_name }}!</a> 
    <br> 
    <a href="/logout">Logout</a> 
{% else %} 
    <a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}">Login with Facebook</a> 
{% endif %} 
</body> 
</html> 

Что я пропустил?

спасибо.

ответ

0

После того как я удалил их, я мог бы решить. Gee, потребовалось так много времени ...... (`ε') ぶ ー ぶ ー

SOCIAL_AUTH_FACEBOOK_APP_KEY = '' 
SOCIAL_AUTH_FACEBOOK_APP_SECRET = '' 
SOCIAL_AUTH_FACEBOOK_APP_NAMESPACE = '' 
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email'] 
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = { 
    'local': 'ja_JP', 
    'fields': 'id, name, email, are_range', 
    } 
Смежные вопросы