我不希望CSRF令牌在会话期满之前过期,所以我的问题是,如果我增加'lifetime' => 120
中的字段config/session.php
,还会增加CSRF令牌花费的时间吗过期以匹配该值。
这尤其重要,因为我希望SPA的会话在24小时后过期,所以'lifetime' => 1440
但我不想CSRF令牌在2小时后过期。
答案 0 :(得分:1)
从5.2起\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::addCookieToResponse()
从会话配置的生存期设置中设置cookie到期。
// from 5.5
$config = config('session');
$response->headers->setCookie(
new Cookie(
'XSRF-TOKEN', $request->session()->token(), $this->availableAt(60 * $config['lifetime']),
$config['path'], $config['domain'], $config['secure'], false, false, $config['same_site'] ?? null
)
);