2010-12-12 81 views
1

我想在本地机器上测试联合登录应用程序。我正在使用django和Socialauth应用程序。但是,在本地主机上登录时,我得到一个403 Forbidden django错误页面,通知我“CSRF令牌[丢失或不正确。”我假设这意味着我正在访问的网站未经授权。如何测试本地主机上的谷歌联合登录

在谷歌domain management page上,您可以添加localhost,但是当您尝试管理该页面时没有任何反应。

那么,有没有办法在本地机器上测试联邦登录?

回答

0

我的错误似乎只是没有添加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', 
) 

这带走了错误,并且一切工作正常。

0

误差

“CSRF令牌[是]丢失或不正确 ”。

意思就是说,django期待的CSRF令牌丢失或不正确。 AFAIK CSRF令牌功能是在不久之前添加的,也许您需要更新您的Django安装。