Skip to content

Commit 7998121

Browse files
committed
Use the firewall event dispatcher
1 parent d693432 commit 7998121

File tree

2 files changed

+10
-32
lines changed

2 files changed

+10
-32
lines changed

EventListener/RememberMeListener.php

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,26 +26,29 @@
2626
class RememberMeListener implements EventSubscriberInterface
2727
{
2828
private $rememberMeServices;
29-
private $providerKey;
3029
private $logger;
3130

32-
public function __construct(RememberMeServicesInterface $rememberMeServices, string $providerKey, ?LoggerInterface $logger = null)
31+
public function __construct(RememberMeServicesInterface $rememberMeServices, ?LoggerInterface $logger = null)
3332
{
3433
$this->rememberMeServices = $rememberMeServices;
35-
$this->providerKey = $providerKey;
3634
$this->logger = $logger;
3735
}
3836

3937

4038
public function onSuccessfulLogin(LoginSuccessEvent $event): void
4139
{
42-
if (!$this->isRememberMeEnabled($event->getProviderKey(), $event->getAuthenticator())) {
40+
$authenticator = $event->getAuthenticator();
41+
if (!$authenticator instanceof RememberMeAuthenticatorInterface || !$authenticator->supportsRememberMe()) {
42+
if (null !== $this->logger) {
43+
$this->logger->debug('Remember me skipped: your authenticator does not support it.', ['authenticator' => \get_class($authenticator)]);
44+
}
45+
4346
return;
4447
}
4548

4649
if (null === $event->getResponse()) {
4750
if (null !== $this->logger) {
48-
$this->logger->debug('Remember me skipped: the authenticator did not set a success response.', ['authenticator' => \get_class($event->getAuthenticator())]);
51+
$this->logger->debug('Remember me skipped: the authenticator did not set a success response.', ['authenticator' => \get_class($authenticator)]);
4952
}
5053

5154
return;
@@ -56,31 +59,9 @@ public function onSuccessfulLogin(LoginSuccessEvent $event): void
5659

5760
public function onFailedLogin(LoginFailureEvent $event): void
5861
{
59-
if (!$this->isRememberMeEnabled($event->getProviderKey())) {
60-
return;
61-
}
62-
6362
$this->rememberMeServices->loginFail($event->getRequest(), $event->getException());
6463
}
6564

66-
private function isRememberMeEnabled(string $providerKey, ?AuthenticatorInterface $authenticator = null): bool
67-
{
68-
if ($providerKey !== $this->providerKey) {
69-
// This listener is created for a different firewall.
70-
return false;
71-
}
72-
73-
if (null !== $authenticator && (!$authenticator instanceof RememberMeAuthenticatorInterface || !$authenticator->supportsRememberMe())) {
74-
if (null !== $this->logger) {
75-
$this->logger->debug('Remember me skipped: your authenticator does not support it.', ['authenticator' => \get_class($authenticator)]);
76-
}
77-
78-
return false;
79-
}
80-
81-
return true;
82-
}
83-
8465
public static function getSubscribedEvents(): array
8566
{
8667
return [

EventListener/SessionStrategyListener.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,18 @@
2828
class SessionStrategyListener implements EventSubscriberInterface
2929
{
3030
private $sessionAuthenticationStrategy;
31-
private $statelessProviderKeys;
3231

33-
public function __construct(SessionAuthenticationStrategyInterface $sessionAuthenticationStrategy, array $statelessProviderKeys = [])
32+
public function __construct(SessionAuthenticationStrategyInterface $sessionAuthenticationStrategy)
3433
{
3534
$this->sessionAuthenticationStrategy = $sessionAuthenticationStrategy;
36-
$this->statelessProviderKeys = $statelessProviderKeys;
3735
}
3836

3937
public function onSuccessfulLogin(LoginSuccessEvent $event): void
4038
{
4139
$request = $event->getRequest();
4240
$token = $event->getAuthenticatedToken();
43-
$providerKey = $event->getProviderKey();
4441

45-
if (!$request->hasSession() || !$request->hasPreviousSession() || \in_array($providerKey, $this->statelessProviderKeys, true)) {
42+
if (!$request->hasSession() || !$request->hasPreviousSession()) {
4643
return;
4744
}
4845

0 commit comments

Comments
 (0)