src/EventListener/JWT/JWTCreatedListener.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\EventListener\JWT;
  3. use App\Entity\Staff\Staff;
  4. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  5. class JWTCreatedListener
  6. {
  7.     public function onJWTCreated(JWTCreatedEvent $event)
  8.     {
  9.         $payload $event->getData();
  10.         $user $event->getUser();
  11.         foreach ($user->getEstablishmentStaff() as $establishmentStaffCollection){
  12.             $establishmentStaff $establishmentStaffCollection;
  13.         }
  14.         if ($user instanceof Staff) {
  15.             $payload['uuid'] = $user->getUuid();
  16.             $payload['lastname'] = $user->getLastname();
  17.             $payload['firstname'] = $user->getFirstname();
  18.             $payload['active'] = $user->isActive();
  19.             $payload['deleted'] = $user->isDeleted();
  20.             $payload['establishmentStaff'] = $establishmentStaff->getId();
  21.             $payload['position'] = $establishmentStaff->getPosition()->getId();
  22.         }
  23.         $event->setData($payload);
  24.         $header $event->getHeader();
  25.         $header['cty'] = 'JWT';
  26.         $event->setHeader($header);
  27.     }
  28. }