我正在尝试在本地计算机上测试联合登录应用程序。我将 django 与Socialauth应用程序一起使用。但是,在 localhost 上登录时,我收到一个 403 Forbidden django 错误页面,通知我“CSRF 令牌 [is] 丢失或不正确”。我假设这意味着我访问的网站未经授权。
您可以在 google域管理页面上添加localhost
,但是当您尝试管理该页面时没有任何反应。
那么,有没有办法在本地机器上测试联合登录?
我正在尝试在本地计算机上测试联合登录应用程序。我将 django 与Socialauth应用程序一起使用。但是,在 localhost 上登录时,我收到一个 403 Forbidden django 错误页面,通知我“CSRF 令牌 [is] 丢失或不正确”。我假设这意味着我访问的网站未经授权。
您可以在 google域管理页面上添加localhost
,但是当您尝试管理该页面时没有任何反应。
那么,有没有办法在本地机器上测试联合登录?
错误
“CSRF 令牌 [is] 丢失或不正确。”
就是说,django 期望的 CSRF 令牌丢失或不正确。AFAIK CSRF 令牌功能是不久前添加的,也许您需要更新您的 Django 安装。
我的错误似乎只是没有添加 CsrfResponseMiddleware。
所以我现在的中间件类settings.py
看起来像:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'openid_consumer.middleware.OpenIDMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
#'socialauth.middleware.FacebookConnectMiddleware',
)
这消除了错误,一切正常。