我对 Laravel 5.1 有疑问。当我们在标题中添加 Set-Cookie: HttpOnly;Secure 时,我们无法再继续使用我们的 api。我们不能使用 Laravel 的 api。我认为这已经在新版本中修复了。但我想在 Laravel 5.1 中解决这个问题,我不知道该怎么做才能让它工作。
1730 次
1 回答
0
我现在想通了是什么问题。我们在服务器中设置“Set-cookie: httponly;secure”标头,因此 xsrf-token 被删除。我认为这是导致我们无法继续提交表格的原因。所以我在我的 VerifyCsrfToken.php 中添加了以下代码
protected function addCookieToResponse($request, $response)
{
$response->headers->setCookie(
new Cookie('XSRF-TOKEN',
$request->session()->token(),
time() + 60 * 120,
'/',
null,
config('session.secure'),
true)
);
return $response;
}
问题仍然存在,我们仍然无法继续提交表单。当我们提交表单时,我仍然收到 302 Found。
这些是现在的 2 Set-Cookie 标头:
Set-Cookie: XSRF-TOKEN=<token>; expires=Thu, 07-Feb-2019 07:38:41 GMT; Max-Age=7200; path=/; secure; HttpOnly
Set-Cookie: laravel_session=<session>; expires=Thu, 07-Feb-2019 07:38:41 GMT; Max-Age=7200; path=/; secure; HttpOnly
但是为什么我们仍然不能提交表单呢?
于 2019-02-07T05:40:35.273 回答