首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试使用Django制作“使用facebook登录”。获取误差

我正在尝试使用Django制作“使用facebook登录”。获取误差
EN

Stack Overflow用户
提问于 2017-07-26 18:52:45
回答 2查看 902关注 0票数 2

使用facebook登录一个项目。但它显示出错误

我的本地主机url -- 127.0.0.1:8000/demo/index/

我的代码就像这个

setting.py

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
url(r'^facebook/', include('social_django.urls', namespace='social')),

index.html

代码语言:javascript
运行
复制
<a href="{% url 'social:begin' 'facebook' %}">Login with Facebook</a>

I创建了facebook并设置了

域空

网站网址-空

facebook中的登录(插件)

有效的OAuth重定向URIs auth/facebook

给出了解决方案,它在登录时显示了此错误。

URL阻止:此重定向失败,因为重定向URI没有在应用程序的客户端OAuth设置中白名单。确保客户端和网络OAuth登录已打开,并将所有应用程序域添加为有效的OAuth重定向URI。

EN

回答 2

Stack Overflow用户

发布于 2017-07-26 19:40:00

您必须在Facebook应用程序设置中设置应用程序域

  1. 转到http://developers.facebook.com中的应用程序设置页面
  2. 单击左上角(应用程序名称旁边)的下拉箭头,然后单击"Create“并给它命名
  3. 在该新测试应用程序的设置> Basic中,将应用程序域设置为"localhost“

查看此链接以获得更多信息- Facebook App: localhost no longer works as app domain

对于Oauth转发-尝试只放置域名

票数 0
EN

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45335242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档