我成功地从The missing django-allauth tutorial运行示例以登录facebook,但是现在当我尝试从头开始安装django-allauth时出现此错误:
Given URL is not allowed by the Application configuration
在Facebook中,我的网站网址设置为http://127.0.0.1:8000/
,这适用于示例,但不适用于我的应用。
错误来自哪里?
我也不了解Django管理中的“站点”字段:主页> Socialaccount>社交应用程序> AppName。它默认设置为example.com,我不知道在这里设置什么,虽然它可以与example.com一起使用,但是这个例子...
仅供参考,以下是该示例的主要urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns(
'',
# prevent the extra are-you-sure-you-want-to-logout step on logout
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}),
url(r'^', include('larb.urls')),
url(r'^accounts/', include('allauth.urls')),
url(r'^admin/', include(admin.site.urls)),
)
和urls.py for larb:
from django.conf.urls import patterns, url
from larb import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index')
)
和我独特的主要urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.views.generic.base import TemplateView
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from Romanesco import settings
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', 'draw.views.index'),
url(r'^accounts/', include('allauth.urls')),
url(r'^admin/', include(admin.site.urls)),
)
我注意到了一个区别,在facebook按钮链接到href="/accounts/facebook/login/"
的示例中;而在默认登录页面中(当它失败时)它是href="javascript:allauth.facebook.login('', 'authenticate', 'login')"
。
如果我手动转到http://127.0.0.1:8000/accounts/facebook/login/
,它就可以了!
答案 0 :(得分:4)
在浏览器中,将http://127.0.0.1:8000/
更改为localhost:8000/
那应该解决问题。
仍在平台网站下,将网站网址更改为http://localhost:8000/
答案 1 :(得分:3)
在Facebook应用程序的参数(https://developers.facebook.com/x/apps/.../settings/advanced/)中,请务必添加平台网站并添加网址:http://127.0.0.1:8000/
在高级(仍然在参数上)之后加上“嵌入式浏览器OAuth登录”和“客户端OAuth登录”!
修改强>:
好的,所以你需要在管理站点中添加http://127.0.0.1:8000
,然后在每个社交应用程序上添加并在站点字段中添加localhost而不是示例。