Я предполагаю генерировать новый токен CSRF для каждого запроса пользователя. Я понимаю, что этот метод не годится и не позволяет пользователю делать одновременный запрос. Но все же хочу это реализовать.
У меня есть функция переопределения addCookieToResponse в Промежуточное ПО / VerifyCsrfToken. Добавив $ запрос-> сеанс () -> регенерировать токен ().
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 (). Есть ли лучший способ реализовать эту технику?
@Mozammil из-за определенного запроса безопасности я должен это реализовать. Если вы узнаете об этом больше, это вызовет дальнейшие затруднения и недопонимание. Просто нужен способ двигаться вперед с этим.






Что ж, это немного странно, чего вы пытаетесь достичь, но я думаю об этом как о промежуточном программном обеспечении:
$response = $next($request); // process petition
$request->session()->regenerateToken(); // regenerate token
return $response; // send response
Пожалуйста поделитесь результатом
Это не работает. Та же ошибка, выданная TokenMismatchExcemption
Это связано с тем, что запрос POST также генерирует новый токен. Мне любопытно, почему вы все равно захотите это сделать?