Задать вопрос
@AleDv

Почему может вызываться исключение TokenMismatchException кроме отсутствия токена?

В ходе разработке, что-то где-то обновили или что-то перестал, в результате чего перестала напрочь работать форма авторизации.

При попытке авторизации получаю исключение TokenMismatchException, при это токен в форме передаётся.
<h2 class="text-center">Авторизация</h2>
        <form method="POST" action="/login" accept-charset="UTF-8" role="form" class="form-horizontal">
<input name="_token" type="hidden" value="cwgcB2m9V9IKX9ZM3VMkNiWQVmPypB2evvOAIEwh">
            <div class="form-group">
                <label for="email" class="col-sm-2 control-label">Ваш E-Mail</label>
                <div class="col-sm-8">
                    <input class="form-control" name="email" type="email" id="email">
                </div>
            </div>
            <div class="form-group">
                <label for="password" class="col-sm-2 control-label">Пароль</label>
                <div class="col-sm-8">
                    <input class="form-control" name="password" type="password" value="" id="password">
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-8">
                    <label for="remember">Запомнить меня</label>
                    <input checked="checked" name="remember" type="checkbox">
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">&nbsp;</div>
                <div class="col-sm-8">
                    <button type="submit" class="btn btn-block btn-primary">Вход</button>
                </div>
            </div>
        </form>


В head'e токен также прописан. Я что-то вообще в растерянности, что могло так повлиять и куда теперь смотреть.
  • Вопрос задан
  • 149 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Значение токена не совпадает.
Используйте {{ csrf_field() }}

UPD:
2-ой вариант laravel.io/forum/01-30-2015-laravel5-tokenmismatch...
Смотрите ваш .env, где хранятся сессии.
Ответ написан
xpert13
@xpert13
Full Stack Developer
Токен имеет срок жизни и может устареть. Т.е. если загрузить страницу, а потом только через 2 часа отправить форму, то передаваемый токен уже будет невалидным.

Решение: https://github.com/GeneaLabs/laravel-caffeine
Ответ написан
Ваш ответ на вопрос

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

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