Nikolino
@Nikolino

Почему laravel перестал ставить куку и выдает Token mismatch?

Настраивал ajax post запросы с передачей токена на OpenServer и Laravel "сломался". Теперь выдает Token mismatch exception на любые формы, даже на стандартные login и register, хотя Token в коде передается верно.

Во вкладке Network в хроме Dev Tools видно, что не ставится кука в браузер, хотя сессии пишутся во framework/session, то есть с правами на запись в папку framework/session всё норм.

MAjOzgac4RnWOr.png

На другом соседнем Laravel всё ок, кука ставится. Конфиги несколько отличались, скопировал конфиг из того Laravel где всё ок (кука ставится) в тот, где не ставится, но это не сработало. Нагуглил много всего связанного с Token Mismatch, проблема у многих возникает, но внятного решения пока не нашел.

Может кто-то сталкивался? Как это пофиксить?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
Nikolino
@Nikolino Автор вопроса
Потратил много часов, поставил свежий Laravel, у него все ок и кука ставится. Начал копировать/заменять папки поочередно из нового поставленного Laravel в старый, чтобы понять где собака зарыта. Папки vendor, resources, config и т.д.

Всё оказалось банально, в файле /routes/web.php в первой строчке перед <?php был вставлен пробел и поэтому куки не ставились, хотя все маршруты работали.

На свежем laravel подтвердилось. Если вставить что-то в /routes/web.php (пробел(ы) или перенос строки), то кука не ставится и при заполнении формы /register/ или любой другой, будет вылетать Token Mismatch Exception.

Потом уже увидел, что было уже в ответах на laracasts
82Q9eblUj1DoB2.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы