我想在本地機器上測試聯合登錄應用程序。我正在使用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安裝。