src/Core/EventSubscriber/JWTAuthentication/JWTAuthenticationSuccessSubscriber.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Core\EventSubscriber\JWTAuthentication;
  3. use App\Domain\User\Entity\User;
  4. use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent;
  5. use Lexik\Bundle\JWTAuthenticationBundle\Events;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class JWTAuthenticationSuccessSubscriber implements EventSubscriberInterface
  8. {
  9.     public static function getSubscribedEvents(): array
  10.     {
  11.         return [
  12.             Events::AUTHENTICATION_SUCCESS => 'onAuthenticationSuccess',
  13.         ];
  14.     }
  15.     public function onAuthenticationSuccess(AuthenticationSuccessEvent $event): void
  16.     {
  17.         /** @var User $user */
  18.         $user $event->getUser();
  19.         $event->setData([
  20.             'id' => $user->getId(),
  21.             'username' => $user->getFirstname() . " " $user->getLastname(),
  22.             'token' => $event->getData()['token'],
  23.             'refreshToken' => $event->getData()['refreshToken']
  24.         ]);
  25.     }
  26. }