<?php
namespace App\EventListener;
use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTExpiredEvent;
use Lexik\Bundle\JWTAuthenticationBundle\Response\JWTAuthenticationFailureResponse;
use Symfony\Contracts\Translation\TranslatorInterface;
class JWTExpiredListener
{
private TranslatorInterface $translator;
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
public function onJWTExpired(JWTExpiredEvent $event): void
{
/** @var JWTAuthenticationFailureResponse $response */
$response = $event->getResponse();
$response->setMessage($this->translator->trans('Your token is expired, please renew it.', [], 'security'));
}
}