alexsobolenko
@alexsobolenko
Программист

Как вручную произвести logout пользователя в symfony без переадрессации на страницу /logout?

Проект на симфони использует scheb/two-factor-bundle. Необходимо не давать пользователю вводить код, если пользователь заблокирован. Информация о блокировке находится в отдельной таблице от данных пользователя./В бандле присутствует событие, по которому это можно было бы сделать, scheb_two_factor.authentication.require. Но, дело в том, что он не дает сделать переадрессацию нормально из-за того, что пользователь на тот момент авторизован и ожидает ввода корректного кода для 2fa. Нужно произвести выход пользователя, но не могу найти как это сделать из обработчика вышеуказанного события.
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
alexsobolenko
@alexsobolenko Автор вопроса
Программист
Решением оказалось передавать TokenStorageInterface $tokenStorage в конструкторе обработчика события scheb_two_factor.authentication.require. И вызывать его так:
$request->getSession()->invalidate();
$this->tokenStorage->setToken(null);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@LemonFox
stateless mind
Скорее всего лучшим решением будет переопределить запрос для поиска пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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