0

我正在嘗試使用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或域名必須是一個子域應用的領域之一 「。

這是我的Facebook配置: enter image description here

我知道有涉及該錯誤消息計算器許多問題,但它們中的任何解決我的問題。

我在做什麼錯了?

在此先感謝!

+1

首先,你必須'應用Domains'空,用'127.0.0.1'填充它,如果不工作與'localhost'嘗試(並使用相同的'網站URL')。其次,'Site 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)。其次,網站網址不必爲http://127.0.0.1:8000/entries/,價值http://127.0.0.1就足夠了。我更喜歡在此設置上設置localhost,因爲它類似於域。

+0

填寫應用程序域爲我工作。 – ofnowhere

相關問題