4

我在网站开发中使用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 管理员中,我创建了新的社交应用程序:

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用于测试。

4

2 回答 2

9

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

于 2013-10-24T18:11:32.297 回答
0

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

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

于 2015-07-11T23:38:14.253 回答