Laravel не может прочитать «недавно» созданный файл cookie

У меня есть проект, который аутентифицирует пользователя с помощью файлов cookie, таких как token_ и refreshToken_, и промежуточное ПО, которое перехватывает мои маршруты и проверяет, зарегистрирован ли пользователь или нет.
В моем промежуточном программном обеспечении, когда мне нужно обновить token_, у меня есть следующий код:

namespace App\Http\Middleware\VerifyAccessToken

$cookie_name = "token_";
$cookie_value = $obj->access_token;
$expires_in = $obj->expires_in;
$time = time() + $expires_in; // 3600 = 1 hora
$path = "/";
$domain = env('COOKIE_DOMAIN');
setcookie($cookie_name, $cookie_value, $time, $path, $domain, false, true);

$cookie_name = "refreshToken_";
$cookie_value = $obj->refresh_token;
setcookie($cookie_name, $cookie_value, $time + 3600, $path, $domain, false, true);

return $next($request);

Работает вроде нормально, но проблема в следующем:
После того, как промежуточное программное обеспечение перехватило мой маршрут и обновило файл cookie, запрос был передан его контроллеру, но там я не могу получить доступ к файлу cookie с помощью $_COOKIE['token_'] и получаю сообщение об ошибке, но если я смотрю в инспекторе Chrome, файл cookie есть и перезагружаю страницу (F5) я могу получить доступ к куки в контроллере
Есть ли у меня метод доступа к файлу cookie в контроллере без необходимости переходить к представлению раньше?

Возможный дубликат Невозможно установить файл cookie PHP на той же странице

ceejayoz 06.03.2019 15:44

laravel обрабатывает файлы cookie по-разному, получение файла cookie — это $value = $request->cookie('name');

Mihai Crăiță 06.03.2019 15:45

См. Также ответ/подход, специфичный для Laravel, в частности, бит «Laravel поддерживает извлечение файлов cookie в памяти через очередь()»: stackoverflow.com/questions/29836332/…

ceejayoz 06.03.2019 15:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
3
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы прочитать значение Cookie в Laravel, вам нужно использовать:

$token = Cookie::queued('token_');
dd($token->getValue());

https://api.symfony.com/3.0/Symfony/Component/HttpFoundation/Cookie.html

Другие вопросы по теме