我在开发网站时使用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
进行测试。
答案 0 :(得分:8)
我在Facebook上将网址设置为 localhost
而不是127.0.0.1。同时将localhost:8000
传递给./manage.py runserver
答案 1 :(得分:0)
一小时前我遇到了同样的问题。我通过将Site URL
和Valid OAuth redirect URIs
设置为http://fuf.me:8080
来修复此问题。 fuf.me指向127.0.0.1,所以你的本地主机,我也将默认8000端口更改为8080.你可以通过运行python manage.py runserver localhost:8080
我也启用了浏览器OAuthLogin和WebOauthLogin。