src/EventListener/JWTAuthenticationSuccessListener.php line 31

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by Logics Tecnologia e Serviços LTDA.
  4.  * @author: Romeu Godoi <romeu@logics.com.br>
  5.  * Date: 18/05/20
  6.  * Time: 13:35
  7.  * @copyright Copyright (C) 2020 LogicSITE. Todos os Direitos Reservados.
  8.  * LogicSITE. Este software é de propriedade exclusiva da LOGICS TEC. E SERV. LTDA
  9.  * e seu uso só pode ser dado por usuários licenciados por escrito.
  10.  * O uso indevido desta plataforma, ou parte dela estará sujeita a penalidades
  11.  * previstas em lei, conforme legislação pertinente.
  12.  */
  13. namespace App\EventListener;
  14. use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent;
  15. use Symfony\Component\Security\Core\User\UserInterface;
  16. use Symfony\Component\Serializer\SerializerInterface;
  17. /**
  18.  * Class JWTAuthenticationSuccessListener
  19.  * @package App\EventListener
  20.  */
  21. class JWTAuthenticationSuccessListener
  22. {
  23.     public function __construct(private readonly SerializerInterface $serializer) {}
  24.     /**
  25.      * @param AuthenticationSuccessEvent $event
  26.      */
  27.     public function onAuthenticationSuccessResponse(AuthenticationSuccessEvent $event)
  28.     {
  29.         $data $event->getData();
  30.         $user $event->getUser();
  31.         if (!$user instanceof UserInterface) {
  32.             return;
  33.         }
  34.         $userData $this->serializer->serialize($user'json', ['groups' => ['user:read']]);
  35.         $data['data'] = json_decode($userDatatrue);
  36.         $event->setData($data);
  37.     }
  38. }