src/EventListener/JWTCreatedListener.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\User;
  4. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  5. class JWTCreatedListener
  6. {
  7.     /**
  8.      * Replaces the data in the generated JWT token.
  9.      * @param JWTCreatedEvent $event The generation event.
  10.      */
  11.     public function onJWTCreated(JWTCreatedEvent $event)
  12.     {
  13.         $user $event->getUser();
  14.         $payload=[];
  15.         if ($user instanceof User){
  16.             $payload['lastName'] = $user->getLastName();
  17.             $payload['firstName'] = $user->getFirstName();
  18.             $payload['email'] = $user->getEmail();
  19.             $payload['role'] = $user->getRoles();
  20.             $payload['username'] = $user->getLastname().' '.$user->getFirstName();
  21.             $payload['login'] = $user->getLogin();
  22.         }
  23.         $event->setData($payload);
  24.     }
  25. }