好吧,一直在搜索這個小時,並且找不到解決方案的開始。正確設置Laravel 5 CSRF令牌的標頭
我正在使用帶有laravel後端的angularJS前端。 Restangular是我的通信服務。
我的POST很好,因爲我可以在數據中包含_token,它會起作用。
但Restangular調用一個函數破壞它看起來像......
Restangular.all('auth/logout').remove(); //maps to [email protected]
一切都很好,但你會得到一個TOKENMISMATCH異常,這是一個很好的安全messure
因爲我可以找不到將_token包含在刪除中的方法,因爲它本質上沒有實質性,所以我決定將標記放在標題中。
RestangularProvider.setDefaultHeaders({'X-XSRF-TOKEN': CSRF_TOKEN}); //CSRF_TOKEN gathered elsewhere
出了Chrome瀏覽器開發tolos的,我可以看到標題設置爲
X-XSRF-TOKEN:ClkQIRLpFQgMg8ZT6X5CF6doCplRfdJzW8msx2JI
X-XSRF-TOKEN正是什麼VerifyCrsfToken.php所期待的。然而,它吐出了一個解密錯誤。任何其他令牌名稱(如XSRF-TOKEN,_TOKEN,CSRF_TOKEN)都會吐出令牌不匹配。
由於這個最後一個事實,它看起來像標題被正確地聲明,但是超出我理解的東西正在導致Laravel失敗解密。我已經在密碼解密功能,但不明白爲什麼它會失敗...
謝謝你的幫助。
你試過' 'X-CSRF-TOKEN':CSRF_TOKEN'? – user2094178 2015-02-25 03:19:55