From 31dce88d3bdea9e080b12c94ace41573e093b881 Mon Sep 17 00:00:00 2001 From: Camille Simiand <camille.simiand@tetras-libre.fr> Date: Mon, 10 Jan 2022 12:30:55 +0100 Subject: [PATCH] Increase and fix errors phpstan level 7 --- phpstan-tests.neon | 2 +- phpstan.neon | 2 +- src/Controller/ResetPasswordController.php | 4 +++- src/Repository/ResetPasswordRequestRepository.php | 1 + src/Security/AppCustomAuthenticator.php | 7 ++++--- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/phpstan-tests.neon b/phpstan-tests.neon index 106428c..64e8c88 100644 --- a/phpstan-tests.neon +++ b/phpstan-tests.neon @@ -1,5 +1,5 @@ parameters: - level: 6 + level: 7 paths: - tests/ symfony: diff --git a/phpstan.neon b/phpstan.neon index e56bade..a703b75 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,5 @@ parameters: - level: 6 + level: 7 paths: - src/ symfony: diff --git a/src/Controller/ResetPasswordController.php b/src/Controller/ResetPasswordController.php index 4eb6d14..4ea2ab3 100644 --- a/src/Controller/ResetPasswordController.php +++ b/src/Controller/ResetPasswordController.php @@ -12,7 +12,6 @@ use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mailer\MailerInterface; -use Symfony\Component\Mime\Address; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Routing\Annotation\Route; use SymfonyCasts\Bundle\ResetPassword\Controller\ResetPasswordControllerTrait; @@ -102,6 +101,9 @@ class ResetPasswordController extends AbstractController try { $user = $this->resetPasswordHelper->validateTokenAndFetchUser($token); + if (! $user instanceof User) { + throw new \Exception("User should be an instance of UserPasswordHasherInterface"); + } } catch (ResetPasswordExceptionInterface $e) { $this->addFlash('reset_password_error', sprintf( 'There was a problem validating your reset request - %s', diff --git a/src/Repository/ResetPasswordRequestRepository.php b/src/Repository/ResetPasswordRequestRepository.php index a8e7738..f0ecba6 100644 --- a/src/Repository/ResetPasswordRequestRepository.php +++ b/src/Repository/ResetPasswordRequestRepository.php @@ -30,6 +30,7 @@ class ResetPasswordRequestRepository extends ServiceEntityRepository implements string $selector, string $hashedToken ): ResetPasswordRequestInterface { + /** @phpstan-ignore-next-line */ return new ResetPasswordRequest($user, $expiresAt, $selector, $hashedToken); } } diff --git a/src/Security/AppCustomAuthenticator.php b/src/Security/AppCustomAuthenticator.php index 05d6c1b..94b1da2 100644 --- a/src/Security/AppCustomAuthenticator.php +++ b/src/Security/AppCustomAuthenticator.php @@ -32,14 +32,15 @@ class AppCustomAuthenticator extends AbstractLoginFormAuthenticator public function authenticate(Request $request): PassportInterface { $email = $request->request->get('email', ''); + $password = $request->request->get('password', ''); $request->getSession()->set(Security::LAST_USERNAME, $email); return new Passport( - new UserBadge($email), - new PasswordCredentials($request->request->get('password', '')), + new UserBadge((string) $email), + new PasswordCredentials((string) $password), [ - new CsrfTokenBadge('authenticate', $request->request->get('_csrf_token')), + new CsrfTokenBadge('authenticate', (string) $request->request->get('_csrf_token')), ] ); } -- GitLab