Skip to content

Commit 302938c

Browse files
committed
bug #57378 [Security] Change to BadCredentialsException when empty username / password (llupa)
This PR was merged into the 7.1 branch. Discussion ---------- [Security] Change to `BadCredentialsException` when empty username / password | Q | A | ------------- | --- | Branch? | 7.1 | Bug fix? |no | New feature? |no | Deprecations? |no | Issues | Fix #53851 (comment) | License | MIT ~Tests will likely fail since they are running flipped.~ Commits ------- 2ab91bb [Security] Change to `BadCredentialsException` when empty username / password
2 parents 954dfa7 + 2ab91bb commit 302938c

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/Symfony/Component/Security/Http/Authenticator/FormLoginAuthenticator.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
1919
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
2020
use Symfony\Component\Security\Core\Exception\AuthenticationException;
21+
use Symfony\Component\Security\Core\Exception\BadCredentialsException;
2122
use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
2223
use Symfony\Component\Security\Core\User\UserProviderInterface;
2324
use Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface;
@@ -130,7 +131,7 @@ private function getCredentials(Request $request): array
130131
$credentials['username'] = trim($credentials['username']);
131132

132133
if ('' === $credentials['username']) {
133-
throw new BadRequestHttpException(sprintf('The key "%s" must be a non-empty string.', $this->options['username_parameter']));
134+
throw new BadCredentialsException(sprintf('The key "%s" must be a non-empty string.', $this->options['username_parameter']));
134135
}
135136

136137
$request->getSession()->set(SecurityRequestAttributes::LAST_USERNAME, $credentials['username']);
@@ -140,7 +141,7 @@ private function getCredentials(Request $request): array
140141
}
141142

142143
if ('' === (string) $credentials['password']) {
143-
throw new BadRequestHttpException(sprintf('The key "%s" must be a non-empty string.', $this->options['password_parameter']));
144+
throw new BadCredentialsException(sprintf('The key "%s" must be a non-empty string.', $this->options['password_parameter']));
144145
}
145146

146147
if (!\is_string($credentials['csrf_token'] ?? '') && (!\is_object($credentials['csrf_token']) || !method_exists($credentials['csrf_token'], '__toString'))) {

src/Symfony/Component/Security/Http/Tests/Authenticator/FormLoginAuthenticatorTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ protected function setUp(): void
4444

4545
public function testHandleWhenUsernameEmpty()
4646
{
47-
$this->expectException(BadRequestHttpException::class);
47+
$this->expectException(BadCredentialsException::class);
4848
$this->expectExceptionMessage('The key "_username" must be a non-empty string.');
4949

5050
$request = Request::create('/login_check', 'POST', ['_username' => '', '_password' => 's$cr$t']);
@@ -56,7 +56,7 @@ public function testHandleWhenUsernameEmpty()
5656

5757
public function testHandleWhenPasswordEmpty()
5858
{
59-
$this->expectException(BadRequestHttpException::class);
59+
$this->expectException(BadCredentialsException::class);
6060
$this->expectExceptionMessage('The key "_password" must be a non-empty string.');
6161

6262
$request = Request::create('/login_check', 'POST', ['_username' => 'foo', '_password' => '']);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy