我想在本地机器上测试联合登录应用程序。我正在使用django和Socialauth应用程序。但是,在本地主机上登录时,我得到一个403 Forbidden django错误页面,通知我“CSRF令牌[丢失或不正确。”我假设这意味着我正在访问的网站未经授权。如何测试本地主机上的谷歌联合登录
在谷歌domain management page上,您可以添加localhost
,但是当您尝试管理该页面时没有任何反应。
那么,有没有办法在本地机器上测试联邦登录?
我想在本地机器上测试联合登录应用程序。我正在使用django和Socialauth应用程序。但是,在本地主机上登录时,我得到一个403 Forbidden django错误页面,通知我“CSRF令牌[丢失或不正确。”我假设这意味着我正在访问的网站未经授权。如何测试本地主机上的谷歌联合登录
在谷歌domain management page上,您可以添加localhost
,但是当您尝试管理该页面时没有任何反应。
那么,有没有办法在本地机器上测试联邦登录?
我的错误似乎只是没有添加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',
)
这带走了错误,并且一切工作正常。
误差
“CSRF令牌[是]丢失或不正确 ”。
意思就是说,django期待的CSRF令牌丢失或不正确。 AFAIK CSRF令牌功能是在不久之前添加的,也许您需要更新您的Django安装。