libs/nomasolutions-api/ApiBundle/Listener/JWTCreatedListener.php line 24

Open in your IDE?
  1. <?php
  2. /**
  3.  * Copyright (c) 2019 by Noma Solutions.
  4.  * This software is the proprietary information of Noma Solutions.
  5.  *
  6.  * All Right Reserved.
  7.  */
  8. namespace NomaSolutions\ApiBundle\Listener;
  9. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  10. use NomaSolutions\API\Model\AccountInterface;
  11. use NomaSolutions\API\Model\ImpersonatableUser;
  12. use Symfony\Component\HttpFoundation\RequestStack;
  13. class JWTCreatedListener
  14. {
  15.     /**
  16.      * @param JWTCreatedEvent $event
  17.      *
  18.      * @return void
  19.      */
  20.     public function onJWTCreated(JWTCreatedEvent $event)
  21.     {
  22.         $payload $event->getData();
  23.         /** @var AccountInterface $user */
  24.         $user $event->getUser();
  25.         $payload['id'] = $user->getId();
  26.         if ($user instanceof ImpersonatableUser) {
  27.             $payload['impersonated'] = $user->isImpersonated();
  28.         }
  29.         $event->setData($payload);
  30.     }
  31. }