Оказывается, это потому, что я использую более старую версию браузера Firefox и вход в систему работает. Вы можете видеть на снимке экрана как Firefox, так и Chrome, что он работает Chrome
Что касается перенаправления говорит, что PHPStorm говорил, что у меня нет urlGenerator, доступного в классе TokenAuthenticator. В результате я должен был заметить раньше, и вот что я сделал, чтобы исправить это:
В моем src \ Security \ TokenAuthenticator у меня есть следующее:
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
В моем конструкторе:
private $em;
private $urlGenerator;
public function __construct(EntityManagerInterface $em, UrlGeneratorInterface $urlGenerator)
{
$this->em = $em;
$this->urlGenerator = $urlGenerator;
}
Мой onAuthenticationSuccess:
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey)
{
// on success, let the request continue
// redirect to some "app_homepage" route - of wherever you want
return new RedirectResponse($this->urlGenerator->generate('app_homepage'));
}
Но он все еще не работает
Я пробовал
use Symfony\Component\HttpFoundation\RedirectResponse;
private $redirectResponse;
public function __construct(EntityManagerInterface $em, RedirectResponse $redirectResponse)
{
$this->em = $em;
$this->redirectResponse = $redirectResponse;
}
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey)
{
// on success, let the request continue
// redirect to some "app_homepage" route - of wherever you want
return $this->redirectResponse->redirectToRoute('app_homepage');
}
Но PHPStorm сообщает мне, что он не может найти метод redirectToRoute в классе RedirectResponse
Единственное, что я обнаружил для работы с перенаправлением пользователей на домашнюю страницу после успешного входа, - это вход в мое приложение для входа в React. У меня есть asyn c для моего метода handleClick, после получения POST у меня есть setTimeout 3000, который использует простой javascript:
window.location.href = '/';
Я хотел бы знать ответ на вопрос, почему я не может перенаправить через созданный мною класс Authenticator, но, по крайней мере, кому-то, кто использует Firefox, не нужно будет удивляться, почему их инструмент веб-отладки не показывает, что пользователь успешно вошел в систему, но все еще показывает анон