src/EventSubscriber/JWTCreatedListener.php line 37

Open in your IDE?
  1. <?php 
  2. // src/App/EventListener/JWTDecodedListener.php
  3. namespace App\EventSubscriber;
  4. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTDecodedEvent;
  5. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use App\Entity\User;
  9. use App\Entity\Customer;
  10. use PhpParser\Builder\Class_;
  11. class JWTCreatedListener{
  12.             
  13.             /**
  14.          * @var RequestStack
  15.          */
  16.         private $requestStack;
  17.         private $entityManager;
  18.         
  19.         /**
  20.          * @param RequestStack $requestStack
  21.          */
  22.         public function __construct(RequestStack $requestStack,EntityManagerInterface $entityManager)
  23.         {
  24.             $this->requestStack $requestStack;
  25.             $this->entityManager $entityManager;
  26.         }
  27.         
  28.         
  29.         /**
  30.          * @param JWTCreatedEvent $event
  31.          *
  32.          * @return void
  33.          */
  34.         public function onJWTCreated(JWTCreatedEvent $event)
  35.         {
  36.             $request $this->requestStack->getCurrentRequest();
  37.          
  38.             $payload       $event->getData();
  39.             
  40.             $payload['ip'] = $request->getClientIp();
  41.             $user $this->entityManager->getRepository(User::class)->findOneByEmail($payload['email']);
  42.             $customer $this->entityManager->getRepository(Customer::class)->findOneByMail($payload['email']);
  43.             $payload['UserID'] = $user->getId();
  44.             $payload['fistCustomer'] = $customer->getFistName();
  45.             $payload['lastCustomer'] = $customer->getLastName();
  46.             $payload['phone'] = $customer->getPhone();
  47.             $payload['genre'] = $customer->getGenre();
  48.             $payload['ice'] = $customer->getIce();
  49.             $payload['NameCompany'] = $customer->getNomEntreprice();
  50.             $payload['profession'] = $customer->getProfession();
  51.             $payload['dateofbirth'] = $customer->getDateNaissance();
  52.             $event->setData($payload);
  53.         
  54.             $header        $event->getHeader();
  55.             $header['cty'] = 'JWT';
  56.         
  57.             $event->setHeader($header);
  58.         }
  59.             
  60.          
  61. }