src/EventSubscriber/JWTCreatedSubscriber.php line 18

Open in your IDE?
  1. <?php
  2. // src/EventSubscriber/JWTCreatedSubscriber.php
  3. namespace App\EventSubscriber;
  4. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\Security\Core\User\UserInterface;
  7. class JWTCreatedSubscriber implements EventSubscriberInterface
  8. {
  9.     public static function getSubscribedEvents(): array
  10.     {
  11.         return [
  12.             'lexik_jwt_authentication.on_jwt_created' => 'onJWTCreated',
  13.         ];
  14.     }
  15.     public function onJWTCreated(JWTCreatedEvent $event): void
  16.     {
  17.         $user $event->getUser();
  18.         if (!$user instanceof UserInterface) {
  19.             return;
  20.         }
  21.         $payload $event->getData();
  22.         // Ajout des informations personnalisées        
  23.         $payload['id'] = $user->getUniqueProfile()->getId();
  24.         $payload['firstname'] = $user->getFirstname();
  25.         $payload['lastname'] = $user->getLastname();
  26.         $payload['photo'] = $user->getPhoto(); // Assure-toi que ça retourne bien une URL ou un chemin
  27.         $event->setData($payload);
  28.     }
  29. }