2017-04-04 91 views
1

我正在嘗試使用郵遞員測試我的web服務器登錄。首先,我向我的登錄網址發送一個GET請求,並將CSRF令牌作爲cookie發送。然後,我使用我的用戶名,密碼和CSRF令牌對該登錄頁面發出POST請求。通過郵遞員發送CSRF標記

我的問題是,當我在Postman中這樣做時,當我嘗試使POST請求登錄時,出現403禁止的錯誤。我正在複製收到的CSRF令牌並將其作爲POST參數之一,並使用有效的用戶名和密碼。我在這裏忽略了什麼?

+1

你設置了一個會話csrfmiddlewaretoken cookie嗎? –

+0

成功登錄後,不需要爲請求提供用戶名和密碼,因爲您已經通過身份驗證,所以只需要CSRF令牌。 – Nizarazo

回答

5

您需要將其設置爲請求中的標頭不在本體中。 X-CSRFToken是關鍵,值是來自cookie的CSRF令牌。如果您使用的是像TastypieDjango Rest Framework這樣的API框架,這將起作用。

如果您在沒有API層的情況下進行身份驗證,則需要實際附加Cookie或使用CSRF令牌創建一個。 This post解釋它。