Laravel не устанавливает cookie-файл XSRF-Token на реальном сервере

Я создал приложение с Laravel 5.7.16 и Angular2, и все отлично работает на моем локальном хосте.

Однако на живом сервере я получил "419 ошибку" при отправке почтовых запросов. После некоторых исследований я пришел к выводу, что это, вероятно, связано с проблемой с XSRF-TOKEN. Затем, сравнивая то, что происходило на моем локальном хосте и на работающем сервере, я заметил, что работающий сервер не устанавливает cookie XSRF-TOKEN при первоначальном запросе.

Я не устанавливаю явно XSRF-TOKEN в моем почтовом запросе HTTP Angular2, но, как я понял, Angular2 делает это автоматически, если файл cookie XSRF-TOKEN изначально устанавливается приложением на стороне сервера.

У кого-нибудь есть идеи, как мне это решить?

Изменить: Я только что попытался добавить один из моих маршрутов публикации приложения в массив $ кроме VerifyCsrfToken, и это работает. Однако это скорее обходной путь, нежели реальное решение. Интересно, что после выполнения "разрешенного" маршрута возвращается XSRF-TOKEN, и все остальные маршруты работают. Я думаю, что это подтверждает идею о том, что XSRF-TOKEN не возвращается при начальной загрузке приложения. С чего бы это?

Спасибо.

1 ответ

Здравствуйте, у меня была такая же проблема на моем локальном компьютере. Файл cookie XSRF-TOKEN не устанавливался в браузере. Я попробовал выполнить следующие действия, и проблема была решена.

  • Дайте разрешение папкам. sudo chmod -R 777 storage bootstrap/cache
  • Очистите кеш конфигурации и приложений. php artisan cache:clear && php artisan config:clear

Попробуйте очистить кеш Laravel

PHP кеш ремесленника: очистить

А также очистите куки браузера, чтобы убедиться, что сеанс еще не сохранен?

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