src/Security/JwtRefreshTokenSuccessHandler.php line 10

  1. <?php
  2. namespace App\Security;
  3. use Gesdinet\JWTRefreshTokenBundle\Event\RefreshTokenEvent;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. class JwtRefreshTokenSuccessHandler
  6. {
  7.     public function __invoke(RefreshTokenEvent $event): void
  8.     {
  9.         $user $event->getUser();
  10.         $newToken $event->getRefreshToken();
  11.         $event->setResponse(new JsonResponse([
  12.             'status' => 'token_refreshed',
  13.             'user' => [
  14.                 'id' => $user->getId(),
  15.                 'email' => $user->getEmail(),
  16.                 'roles' => $user->getRoles(),
  17.             ],
  18.             'refresh_token' => $newToken?->getRefreshToken(),
  19.         ]));
  20.     }
  21. }