Как сделать так, чтобы FOS User Bundle входил в систему после проверки электронной почты? - PullRequest
0 голосов
/ 27 ноября 2018

После ввода данных для входа FOS User Bundle отправляет подтверждение по электронной почте.Ссылка в письме просто делает аккаунт активным, но не заставляет его войти в систему.Как заставить FOSUB войти в систему при подтверждении электронной почты?

1 Ответ

0 голосов
/ 27 ноября 2018

вам нужно создать eventListener с реализацией:

use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;

после того, как вам нужно создать класс для работы с

class RegistrationConfirmListener implements EventSubscriberInterface

и переопределить какой-то метод специальности

 public function onRegistrationConfirm(GetResponseUserEvent $event)
    {
        $url = 'use your route to generate the url if you wanna redirect him to login area after cofirm or confimed ' ;

        $event->setResponse(new RedirectResponse($url));
    }

Примечание: будьте осторожны с разницей между подтвержденным и подтвержденным

, и вы в последний раз указали в своем yml-сервисе маршрут для использования в переменной $ url, но выможете использовать любой защищенный маршрут в вашем security.yml (особенно основной путь, если он защищен), который приведет его прямо в зону входа.

...