Skip to content

Commit 824a7c4

Browse files
committed
Merge branch '5.2' into 5.x
* 5.2: run tests against doctrine/persistence 2.2 again [Security] Do not try to rehash null-passwords Small phpdoc imporvement
2 parents afa31e5 + 3aebf0e commit 824a7c4

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

EventListener/PasswordMigratingListener.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ public function onLoginSuccess(LoginSuccessEvent $event): void
5858
}
5959

6060
$user = $passport->getUser();
61+
if (null === $user->getPassword()) {
62+
return;
63+
}
64+
6165
$passwordHasher = $this->hasherFactory instanceof EncoderFactoryInterface ? $this->hasherFactory->getEncoder($user) : $this->hasherFactory->getPasswordHasher($user);
6266
if (!$passwordHasher->needsRehash($user->getPassword())) {
6367
return;

Tests/EventListener/PasswordMigratingListenerTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@ public function testUpgradeWithoutUpgrader()
110110
$this->listener->onLoginSuccess($event);
111111
}
112112

113+
public function testUserWithoutPassword()
114+
{
115+
$this->user = new User('test', null);
116+
117+
$this->encoderFactory->expects($this->never())->method('getEncoder');
118+
119+
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('test', function () { return $this->user; }), [new PasswordUpgradeBadge('pa$$word')]));
120+
$this->listener->onLoginSuccess($event);
121+
}
122+
113123
private function createPasswordUpgrader()
114124
{
115125
return $this->getMockForAbstractClass(TestMigratingUserProvider::class);

0 commit comments

Comments
 (0)