У меня есть одностраничное приложение, сделанное на Laravel 5.1. Я использую localStorage для хранения ключа API, и мне не нужны файлы cookie. не Laravel создает два печенья для меня:Как отключить cookies в Laravel 5?
- XSRF-ЗНАК
- laravel_session
Если установить SESSION_DRIVER
в array
в моей среде конфигурации, laravel_session
печенья больше не генерируется.
Но я думаю, что может быть проблема с XSRF-TOKEN
печенья, потому что я нашел этот кусок кода в VerifyCsrfToken
промежуточного класса:
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->shouldPassThrough($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
И addCookieToResponse
метод выглядит следующим образом:
protected function addCookieToResponse($request, $response)
{
$config = config('session');
$response->headers->setCookie(
new Cookie(
'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
$config['path'], $config['domain'], false, false
)
);
return $response;
}
Похоже, он устанавливает этот файл cookie ни на что. Я мог бы отключить это промежуточное программное обеспечение, но я хочу использовать его для проверки токена CSRF с заголовками HTTP. Могу ли я полностью отключить cookies?
Если вы используете laravel для API с помощью токенов, почему бы не полностью отключить промежуточное программное обеспечение VerifyCsrfToken? Это использует файлы cookie, которые вам не нужны. Вы можете отключить, перейдя в приложение/http/Kernel.php и прокомментируйте строку – codegeek
только для получения дополнительной информации о фону, в чем причина отказа от куки-файлов? – ExoticChimp
@ExoticChimp Существует закон, который обязывает информировать пользователя о файлах cookie, если вы используете их. Я не нуждаюсь в них, поэтому я бы скорее отключил их и был свободен от информации «Мы используем куки» :) –