我安装了target: 'node'
并按照指南here将Facebook登录集成到django 1.8.18。问题是,当我转到“http://localhost:8000/social-auth/login/facebook/”时,我得到以下错误
无法加载网址:此网址的域未包含在应用的域中。 为了能够加载此URL,请添加您的所有域和子域 应用到应用设置中的应用领域字段。
这是我的settings.py文件
social-auth-app-django
urls.py文件
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print (BASE_DIR)
SECRET_KEY = 'x220#z=kwd)kjiu#u+p$)v0lu+rspyosg+)l*k$ux9j)1h'
DEBUG = True
ALLOWED_HOSTS = ['localhost']
INSTALLED_APPS = (
...
'account',
'social_django', #social classes
)
MIDDLEWARE_CLASSES = (
'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',
'django.middleware.security.SecurityMiddleware',
'social_django.middleware.SocialAuthExceptionMiddleware',
)
ROOT_URLCONF = 'bookmark.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.contrib.messages.context_processors.messages',
'social_django.context_processors.backends', # <--
'social_django.context_processors.login_redirect', # <--
],
},
},
]
WSGI_APPLICATION = 'bookmark.wsgi.application'
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media/')
from django.core.urlresolvers import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('dashboard')
LOGIN_URL = reverse_lazy('login')
LOGOUT_URL = reverse_lazy('logout')
AUTHENTICATION_BACKENDS = (
'social_core.backends.facebook.FacebookOAuth2', #< --facebook
'django.contrib.auth.backends.ModelBackend',
'account.authentication.EmailAuthBackend',
)
SOCIAL_AUTH_FACEBOOK_KEY='1742581762468139'
SOCIAL_AUTH_FACEBOOK_SECRET='eae7dsfdsfdsf90b219becb84'
我还将localhost更改为类似“bookmarks.com”的内容并在/ etc / hosts文件中更改了它但得到了同样的错误
答案 0 :(得分:1)
此时,您应该看到“客户端OAuth设置”,如果您看到&#34;使用严格模式重定向URI&#34; as&#34;是&#34;关闭它,但这样做你需要添加一个&#34;有效的OAuth重定向URI&#34;在这之下,只需添加localhost:8000匹配您的左上角设置,&#34;应用域名,即:localhost&#34;和#34; URL站点,即:localhost:8000 /&#34;。这应该够了吧!如果它没有请尽快回复我。
答案 1 :(得分:1)
我在使用social-auth-app-django时遇到了类似的问题,即使在修改了应用程序域后该问题仍然存在。和&#39; Oauth重定向网址#39; Facebook中的配置。
最后,发现问题是由于版本差异造成的。所以我在设置中添加了以下内容并且有效,
SOCIAL_AUTH_FACEBOOK_API_VERSION = '2.11'