<?php
namespace App\Listener;
use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTFailureEventInterface;
use Lexik\Bundle\JWTAuthenticationBundle\Response\JWTAuthenticationFailureResponse;
use Symfony\Contracts\Translation\TranslatorInterface;
class JWTCredentialsMessagesListener
{
/**
* @var TranslatorInterface
*/
private $translator;
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
/**
* @param $event JWTAuthenticationFailureResponse|JWTFailureEventInterface
*/
public function onFailureEvent($event)
{
$content = json_decode($event->getResponse()->getContent());
$content->message = $this->translator->trans($content->message, [], 'security');
$event->getResponse()->setContent(json_encode($content));
}
}