src/EventListener/JWTCreatedListener.php line 33

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by IntelliJ IDEA.
  4.  * User: jochen
  5.  * Date: 17.01.22
  6.  * Time: 12:59
  7.  */
  8. namespace App\EventListener;
  9. use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
  10. use Psr\Log\LoggerAwareInterface;
  11. use Psr\Log\LoggerInterface;
  12. class JWTCreatedListener implements LoggerAwareInterface
  13. {
  14.     public function __construct() {
  15.     }
  16.     public function setLogger(LoggerInterface $logger) {
  17.         $this->logger $logger;
  18.     }
  19.     /**
  20.      * @param JWTCreatedEvent $event
  21.      *
  22.      * @return void
  23.      */
  24.     public function onJWTCreated(JWTCreatedEvent $event)
  25.     {
  26.         $user $event->getUser();
  27.         $campaign $user->getCampaign();
  28.         $payload $event->getData();
  29.         if ($campaign !== null) {
  30.             $payload['submissionToken'] = uniqid($campaign->getTokenPrefix() . "-") . bin2hex(random_bytes(4));
  31.             $payload['campaign'] = $campaign->getHandle();
  32.         }
  33.         $event->setData($payload);
  34.     }
  35. }