我正在嘗試使用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配置:
我知道有涉及該錯誤消息計算器許多問題,但它們中的任何解決我的問題。
我在做什麼錯了?
在此先感謝!
首先,你必須'應用Domains'空,用'127.0.0.1'填充它,如果不工作與'localhost'嘗試(並使用相同的'網站URL')。其次,'Site URL'不需要是'http://127.0.0.1:8000/entries /',值'http:// 127.0.0.1'就足夠了。我更喜歡在這個設置上設置'localhost',因爲它類似於一個域。 – omab
謝謝omab!並感謝python-social-auth! – Boel
沒問題,讓我發表我的評論作爲一個答案,所以你可以舉報。 – omab