<?php
/**
* Created by IntelliJ IDEA.
* User: jochen
* Date: 17.01.22
* Time: 12:59
*/
namespace App\EventListener;
use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
class JWTCreatedListener implements LoggerAwareInterface
{
public function __construct() {
}
public function setLogger(LoggerInterface $logger) {
$this->logger = $logger;
}
/**
* @param JWTCreatedEvent $event
*
* @return void
*/
public function onJWTCreated(JWTCreatedEvent $event)
{
$user = $event->getUser();
$campaign = $user->getCampaign();
$payload = $event->getData();
if ($campaign !== null) {
$payload['submissionToken'] = uniqid($campaign->getTokenPrefix() . "-") . bin2hex(random_bytes(4));
$payload['campaign'] = $campaign->getHandle();
}
$event->setData($payload);
}
}