0

Я пытаюсь интегрировать логин facebook на свой сайт с помощью python-social-auth.Как избежать этой ошибки facebook при попытке аутентификации на моем сайте?

Это мой setting.py файл:

# Application definition 

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'blog', 
    'social.apps.django_app.default', 
) 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

ROOT_URLCONF = 'boeldev.urls' 

WSGI_APPLICATION = 'boeldev.wsgi.application' 


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

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': 'boeldev.db', 
    } 
} 



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

STATIC_URL = '/static/' 

TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),) 

AUTHENTICATION_BACKENDS = (
    'social.backends.google.GoogleOAuth2', 
    'social.backends.facebook.FacebookOAuth2', 
    'django.contrib.auth.backends.ModelBackend', 
) 

SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/entries/' 
SOCIAL_AUTH_LOGIN_ERROR_URL = '/login-error/' 

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'XXXX.apps.googleusercontent.com' 
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'XXXX' 

SOCIAL_AUTH_FACEBOOK_KEY = 'XXXX' 
SOCIAL_AUTH_FACEBOOK_SECRET = 'XXXX' 

SOCIAL_AUTH_PIPELINE = (
    'social.pipeline.social_auth.social_details', 
    'social.pipeline.social_auth.social_uid', 
    'social.pipeline.social_auth.auth_allowed', 
    'social.pipeline.social_auth.social_user', 
    'social.pipeline.user.get_username', 
    'social.pipeline.mail.mail_validation', 
    'social.pipeline.user.create_user', 
    'social.pipeline.social_auth.associate_user', 
    'social.pipeline.social_auth.load_extra_data', 
    'social.pipeline.user.user_details', 
    'blog.pipeline.get_profile_picture', 
) 

Но я получаю следующее сообщение об ошибке после входа в систему с Facebook:

«Учитывая URL не допускается в конфигурации приложения .: Один или в настройках приложения не разрешены больше заданных URL. Он должен соответствовать URL-адресу веб-сайта или Canvas, или домен должен быть поддоменом одного из доменов приложения. "

Это моя конфигурация facebook: enter image description here

Я знаю, что есть много вопросов, на StackOverflow, связанный с этим сообщением об ошибке, но ни один из них решить мою проблему.

Что я делаю неправильно?

Заранее благодарен!

+1

Во-первых, у вас есть «Домены приложений» пустые, заполните его «127.0.0.1», если это не сработает с 'localhost' (и используйте то же самое для' Site URL'). Во-вторых, 'URL-адрес сайта 'не должен быть' http: //127.0.0.1: 8000/entries/', значение' http: // 127.0.0.1' достаточно. Я предпочитаю устанавливать «localhost» в этом параметре, поскольку он похож на домен. – omab

+0

спасибо omab! и спасибо за python-social-auth! – Boel

+0

Нет проблем, позвольте мне выслать свой комментарий в качестве ответа, чтобы вы могли его пометить. – omab

ответ

2

Во-первых, у вас есть App Domains пусто, заполните его 127.0.0.1, если это не сработает с localhost (и используйте то же самое для URL-адреса сайта). Во-вторых, URL-адрес сайта не обязательно должен быть http://127.0.0.1:8000/entries/, значения http://127.0.0.1 достаточно. Я предпочитаю установить localhost на этот параметр, так как он похож на домен.

+0

заполнение приложений Домены работали для меня. – ofnowhere