Próbuję to zrobić przez utworzenie i zapisanie nowego tokena.
Moja metoda rejestrująca wygląda tak:
public function registerAction() { /** @var Request $request */ $request = $this->get('request_stack')->getCurrentRequest(); $registerHelper = $this->get('app.helper.app.register'); $formData = $registerHelper->createFormData(); $form = $this->createForm(RegistrationType::class, $formData, [ 'validation_groups' => ['registration'] ]); $form->handleRequest($request); if($request->getMethod() == 'POST' && $form->isValid()) { /** @var User $user */ $user = $registerHelper->processForm($formData); /** @var TokenStorageInterface $tokenStorage */ $tokenStorage = $this->get('security.token_storage'); $token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles()); $tokenStorage->setToken($token); if ($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) { return $this->redirect($this->generateUrl('customer_index')); } return $this->redirectToRoute('app_login'); } return $this->render('AppBundle:homepage:register.html.twig', [ 'form' => $form->createView(), ]); }
Niestety zwraca mi 500. Jak wywalę to isGranted() - to samo.