<?php
/**
* Created by PhpStorm.
* User: Moez
* Date: 10/05/2020
* Time: 21:22
*/
namespace App\EventListener;
use App\Entity\User;
use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
use Symfony\Component\HttpFoundation\RequestStack;
use App\Controller;
class JWTCreatedListener
{
/**
* @var RequestStack
*/
private $requestStack;
/**
* @param RequestStack $requestStack
*/
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
/**
* @param JWTCreatedEvent $event
*
* @return void
*/
public function onJWTCreated(JWTCreatedEvent $event)
{
$user = $event->getUser();
$payload = $event->getData();
$first = $user->getFirstname();
$last = $user->getLastname();
$userid = $user->getId();
$payload['userid'] = $userid;
$payload['firstname'] = $first;
$payload['lastname'] = $last;
$event->setData($payload);
$header = $event->getHeader();
$header['cty'] = 'JWT';
$event->setHeader($header);
}
}