【问题标题】:django allauth facebook local developmentdjango allauth facebook 本地开发
【发布时间】:2013-05-07 15:09:13
【问题描述】:

我在网站开发中使用django-allauth 进行 Facebook 身份验证,并进行了相应设置:

在 facebook 上的 facebook 应用设置中:

Namespace: test_login
App Domains: blank
Site URL: http://127.0.0.1:8000/
Canvas URL: http://127.0.0.1:8000/
Secure Canvas URL: https://127.0.0.1:8000/

在 Django admin 中,我创建了新的社交应用程序:

Provider: Facebook
name: test_login
client_id: xxx
Secret: xxx
Sites: http://127.0.0.1:8000/

如您所见,我添加了一个新站点 http://127.0.0.1:8000/ 而不是 example.com

settings.py 中的 SITE_ID 是正确的。

所以一切都应该正常工作,但事实并非如此。点击通过 Facebook 登录后,我得到了

Given URL is not allowed by the Application configuration.: 
One or more of the given URLs is not allowed by the App's settings. 
It must match the Website URL or Canvas URL, or the domain must be a 
subdomain of one of the App's domains.

我错过了什么?什么没有配置?据我了解,我应该可以使用127.0.0.1:8000 进行测试。

【问题讨论】:

  • 我已经两天没碰这个了,现在可以了。脸书万岁。问题已解决(自行解决)。

标签: django facebook django-allauth


【解决方案1】:

一个小时前我遇到了同样的问题。我通过将Site URLValid OAuth redirect URIs 设置为http://fuf.me:8080 来修复它。 fuf.me 指向 127.0.0.1,所以你的本地主机,而且我已经将默认的 8000 端口更改为 8080。你可以通过运行 python manage.py runserver localhost:8080 来做到这一点

我还启用了浏览器 OAuthLogin 和 WebOauthLogin。

【讨论】:

    【解决方案2】:

    它将 Facebook 中的 url 设置为 localhost 而不是 127.0.0.1 对我有用。同时将localhost:8000 传递给./manage.py runserver

    【讨论】:

    • In the docs "开发回调 URL 将您的 App Domains 留空,并将其放入使用 Facebook 登录的网站部分,并将其作为您的站点 URL:localhost:8000"
    猜你喜欢
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 2014-05-06
    • 2015-04-16
    相关资源
    最近更新 更多