src/Auth/Infrastructure/Symfony/EventListener/UserResolveListener.php line 25
<?php declare(strict_types=1);namespace App\Auth\Infrastructure\Symfony\EventListener;use App\Auth\Domain\Exceptions\UsernameNotFoundException;use App\Auth\Domain\Exceptions\WrongPasswordException;use App\Auth\Domain\User;use App\Auth\Infrastructure\Repositories\MysqlAuthRepository;use League\Bundle\OAuth2ServerBundle\Event\UserResolveEvent;use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;use Symfony\Component\PasswordHasher\PasswordHasherInterface;final class UserResolveListener{private MysqlAuthRepository $mysqlAuthRepository;private UserPasswordHasherInterface $passwordHasher;public function __construct(MysqlAuthRepository $mysqlAuthRepository, UserPasswordHasherInterface $passwordHasher){$this->mysqlAuthRepository = $mysqlAuthRepository;$this->passwordHasher = $passwordHasher;}public function onUserResolve(UserResolveEvent $event): void{$user = $this->mysqlAuthRepository->findUserByUsername($event->getUsername());if (is_null($user)) {throw new UsernameNotFoundException();}$isPasswordValid = $this->passwordHasher->isPasswordValid($user, $event->getPassword());if (!$isPasswordValid) {throw new WrongPasswordException();}$user = new User('portail-' . $user->getId(),$user->getEmail(),$user->getPassword(),$user->getFirstName(),$user->getLastName(),$user->getRoles());$event->setUser($user);}}