django allauth facebook本地开发

时间:2013-05-13 14:26:40

标签: django facebook django-allauth

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

在facebok上的facebook app设置中:

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进行测试。

2 个答案:

答案 0 :(得分:8)

我在Facebook上将网址设置为 localhost 而不是127.0.0.1。同时将localhost:8000传递给./manage.py runserver

答案 1 :(得分:0)

一小时前我遇到了同样的问题。我通过将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。