getPayload()->getString('nickname'); $request->getSession()->set(SecurityRequestAttributes::LAST_USERNAME, $nickname); return new Passport( new UserBadge($nickname), new PasswordCredentials($request->getPayload()->getString('password')), [ new CsrfTokenBadge('authenticate', $request->getPayload()->getString('_csrf_token')), new RememberMeBadge(), ] ); } public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response { if ($targetPath = $this->getTargetPath($request->getSession(), $firewallName)) { return new RedirectResponse($targetPath); } // For example: return new RedirectResponse($this->urlGenerator->generate('index')); //throw new \Exception('TODO: provide a valid redirect inside '.__FILE__); } protected function getLoginUrl(Request $request): string { return $this->urlGenerator->generate(self::LOGIN_ROUTE); } }