<?php
declare(strict_types=1);
namespace App\Subscriber;
use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationFailureEvent;
use Lexik\Bundle\JWTAuthenticationBundle\Events;
use Lexik\Bundle\JWTAuthenticationBundle\Response\JWTAuthenticationFailureResponse;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class AuthenticationFailureSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
Events::AUTHENTICATION_FAILURE => ['onAuthenticationFailure'],
];
}
/**
* @param AuthenticationFailureEvent $authenticationFailureEvent
*/
public function onAuthenticationFailure(AuthenticationFailureEvent $authenticationFailureEvent): void
{
$response = new JWTAuthenticationFailureResponse('Email et/ou mot de passe invalide');
$authenticationFailureEvent->setResponse($response);
}
}