2015-03-17 1 views
1

У меня есть форма для входа в Ajax. В одном конкретном случае, после входа пользователя в систему, мне нужно вывести их с помощью Auth::logout() и отобразить дополнительный модуль мода. Все это происходит без перезагрузки страницы.CSRF _token значение обновить в форме для входа

Когда мода входа открывается и отправляется снова, я получаю Ошибка несоответствия токена. Причина, по которой это происходит, заключается в том, что для выхода из системы используется Session::flush(). После этого обновляется переменная сеанса _token, а вход _token в форме входа остается прежним (из-за упомянутого отсутствия перезагрузки страницы).

Как я могу обновить CSRF _token в форме входа в систему, чтобы он соответствовал одному обновленному в сеансе безопасным способом?

ответ

3

Когда ваш логин отправляется через ajax, ваш сервер, по-видимому, отправляет обратно какой-то ответ, чтобы браузер знал, что логин был успешным. Вы должны отправить новый токен CSRF с этим ответом, чтобы вы могли обновить форму на стороне клиента (с помощью javascript).

Чтобы предоставить более подробную информацию (как обновить поля формы, например), нам нужно будет увидеть больше вашего кода.

+0

Хорошо, спасибо за подсказку. Я закончил работу так, как вы писали: я передаю новый токен в качестве дополнительного свойства в свой JS-скрипт и обновляю входное значение '_token'. Кажется, этого достаточно. – lesssugar

Смежные вопросы