From 4be4ab34026ea3e9ddb7c20c9294b72c796ac565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Fri, 31 Aug 2018 16:01:15 +0200 Subject: [PATCH] sending correct error if user does not exists --- Security/UserProvider/UserProvider.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Security/UserProvider/UserProvider.php b/Security/UserProvider/UserProvider.php index e3377d225..b741fd2c2 100644 --- a/Security/UserProvider/UserProvider.php +++ b/Security/UserProvider/UserProvider.php @@ -45,17 +45,17 @@ class UserProvider implements UserProviderInterface public function loadUserByUsername($username): UserInterface { - $user = $this->em->createQuery(sprintf( - "SELECT u FROM %s u " - . "WHERE u.usernameCanonical = UNACCENT(LOWER(:pattern)) " - . "OR " - . "u.emailCanonical = UNACCENT(LOWER(:pattern))", - User::class)) - ->setParameter('pattern', $username) - ->getSingleResult(); - - if (NULL === $user) { - throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)); + try { + $user = $this->em->createQuery(sprintf( + "SELECT u FROM %s u " + . "WHERE u.usernameCanonical = UNACCENT(LOWER(:pattern)) " + . "OR " + . "u.emailCanonical = UNACCENT(LOWER(:pattern))", + User::class)) + ->setParameter('pattern', $username) + ->getSingleResult(); + } catch (\Doctrine\ORM\NoResultException $e) { + throw new UsernameNotFoundException(sprintf('Bad credentials.', $username)); } return $user;