簡體   English   中英

如何在vue 2應用程序和laravel中創建和匹配CSRF令牌

[英]How can I create and match CSRF token in vue 2 app and laravel

我沒有使用laravel默認提供的vue 2設置。 相反,我為vue應用程序和laravel api后端有兩個單獨的文件夾。 Vue應用程序位於laravel項目文件夾之外。

在這種情況下,如何實現CSRF?

這就是我想做的事情,請讓我知道它是否可以正常工作,或者有更好的方法。.1.在Vue應用程序中使用一些隨機的長字符串設置Cookie。 2.在每個api調用中,確保正在發送cookie。 3.在laravel后端中,從請求中獲取此令牌。 4.從cookie本身獲取令牌。 5.匹配兩個cookie,如果匹配則假定CSRF有效。

提前致謝..

我感到困惑,但是我通過詢問社區找到了答案。

只需看一下Laravel CSRF文檔 ,框架就將 XSRF-TOKEN存儲為cookie的密鑰。 您需要做的是從cookie中獲取XSRF-TOKEN ,然后使用X-XSRF-TOKEN: key_from_cookie將令牌設置為標頭的一部分X-XSRF-TOKEN: key_from_cookie ,Laravel將照常將密鑰解密為CSRF令牌。

照亮/基礎/ Http /中間件/VerifyCsrfToken.php
 /** * Get the CSRF token from the request. * * @param \\Illuminate\\Http\\Request $request * @return string */ protected function getTokenFromRequest($request) { $token = $request->input('_token') ?: $request->header('X-CSRF-TOKEN'); if (! $token && $header = $request->header('X-XSRF-TOKEN')) { $token = $this->encrypter->decrypt($header); } return $token; } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM