Предполагается, что для каждого запроса пользователя создается новый токен CSRF. Я понимаю, что эта техника не хороша, и она не позволяет пользователю делать одновременный запрос. Но все же я хочу это реализовать.
У меня есть функция переопределения addCookieToResponse в Middleware / VerifyCsrfToken . Добавив $ request-> session () -> РегенератТокен () .
protected function addCookieToResponse($request, $response)
{
$config = config('session');
$request->session()->regenerateToken();
$response->headers->setCookie(
new Cookie(
'XSRF-TOKEN', $request->session()->token(), $this->availableAt(60 * $config['lifetime']),
$config['path'], $config['domain'], $config['secure'], $config['http_only'], false, $config['same_site'] ?? null
)
);
return $response;
}
Токен постоянно меняется, но во время запроса POST я получаю TokenMismatchExcemption из-за csrf_token () токен, который является старым. Кажется, что crsf_token () вызывается перед addCookieToResponse (). Есть ли лучший способ реализовать эту технику?