使用facebook登录一个项目。但它显示出错误
我的本地主机url -- 127.0.0.1:8000/demo/index/
我的代码就像这个
setting.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'social_django',
'dashboard'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'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',
'social_django.middleware.SocialAuthExceptionMiddleware',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(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',
],
},
},
]
AUTHENTICATION_BACKENDS = (
'social_core.backends.facebook.FacebookOAuth2',
'social_core.backends.google.GoogleOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
STATIC_URL = '/static/'
LOGIN_URL = '/demo/login/'
LOGIN_REDIRECT_URL = '/'
SOCIAL_AUTH_FACEBOOK_KEY = '184354188769721'
SOCIAL_AUTH_FACEBOOK_SECRET = 'c4d9ed712a59be2f9bb25b5368432f61'
LOGIN_URL = '/demo/login/'
LOGIN_REDIRECT_URL = '/'
url.py
url(r'^facebook/', include('social_django.urls', namespace='social')),
index.html
<a href="{% url 'social:begin' 'facebook' %}">Login with Facebook</a>
I创建了facebook并设置了
域空
网站网址-空
facebook中的登录(插件)
有效的OAuth重定向URIs auth/facebook
给出了解决方案,它在登录时显示了此错误。
URL阻止:此重定向失败,因为重定向URI没有在应用程序的客户端OAuth设置中白名单。确保客户端和网络OAuth登录已打开,并将所有应用程序域添加为有效的OAuth重定向URI。
发布于 2017-07-26 19:40:00
您必须在Facebook应用程序设置中设置应用程序域
查看此链接以获得更多信息- Facebook App: localhost no longer works as app domain
对于Oauth转发-尝试只放置域名
发布于 2017-08-08 05:01:27
我得到了答案..。我首先使用以下命令更改了域名(27.0.0.1:8000 www.example.com)。
sudo -i gedit /etc/host
然后在setting.py中编辑
ALLOWED_HOSTS = "www.example.com"
转到http://developers.facebook.com中的应用程序设置页面
添加站点url http://www.example.com:8000/
和域名 example.com
https://stackoverflow.com/questions/45335242
复制相似问题