2010-12-12 88 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安裝。