handleAuthenticationSuccess($token->getUser()); } public function handleAuthenticationSuccess(UserInterface $user, $jwt = null): Response { if (($user instanceof User) && !$user->isVerified()) { throw new AccessDeniedHttpException('You have not yet validated your email address.'); } if (null === $jwt) { $jwt = $this->jwtManager->create($user); } $jwtCookies = []; foreach ($this->cookieProviders as $cookieProvider) { $jwtCookies[] = $cookieProvider->createCookie($jwt); } $response = new JWTAuthenticationSuccessResponse($jwt, [], $jwtCookies); $event = new AuthenticationSuccessEvent(['token' => $jwt], $user, $response); $this->dispatcher->dispatch($event, Events::AUTHENTICATION_SUCCESS); $responseData = $event->getData(); if ($jwtCookies && $this->removeTokenFromBodyWhenCookiesUsed) { unset($responseData['token']); } if ($responseData) { $response->setData($responseData); } else { $response->setStatusCode(Response::HTTP_NO_CONTENT); } return $response; } }