Skip to content

Commit 0e96123

Browse files
committed
gracefully handle missing event dispatchers
1 parent 75e96df commit 0e96123

7 files changed

+48
-7
lines changed

Firewall/AbstractAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
9393
'require_previous_session' => true,
9494
], $options);
9595
$this->logger = $logger;
96-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
96+
97+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
98+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
99+
} else {
100+
$this->dispatcher = $dispatcher;
101+
}
102+
97103
$this->httpUtils = $httpUtils;
98104
}
99105

Firewall/AbstractPreAuthenticatedListener.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
5252
$this->authenticationManager = $authenticationManager;
5353
$this->providerKey = $providerKey;
5454
$this->logger = $logger;
55-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
55+
56+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
57+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
58+
} else {
59+
$this->dispatcher = $dispatcher;
60+
}
5661
}
5762

5863
/**

Firewall/ContextListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,13 @@ public function __construct(TokenStorageInterface $tokenStorage, iterable $userP
6666
$this->userProviders = $userProviders;
6767
$this->sessionKey = '_security_'.$contextKey;
6868
$this->logger = $logger;
69-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
69+
70+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
71+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
72+
} else {
73+
$this->dispatcher = $dispatcher;
74+
}
75+
7076
$this->trustResolver = $trustResolver ?: new AuthenticationTrustResolver(AnonymousToken::class, RememberMeToken::class);
7177
}
7278

Firewall/RememberMeListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,13 @@ public function __construct(TokenStorageInterface $tokenStorage, RememberMeServi
4949
$this->rememberMeServices = $rememberMeServices;
5050
$this->authenticationManager = $authenticationManager;
5151
$this->logger = $logger;
52-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
52+
53+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
54+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
55+
} else {
56+
$this->dispatcher = $dispatcher;
57+
}
58+
5359
$this->catchExceptions = $catchExceptions;
5460
$this->sessionStrategy = null === $sessionStrategy ? new SessionAuthenticationStrategy(SessionAuthenticationStrategy::MIGRATE) : $sessionStrategy;
5561
}

Firewall/SimplePreAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
6565
$this->providerKey = $providerKey;
6666
$this->simpleAuthenticator = $simpleAuthenticator;
6767
$this->logger = $logger;
68-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
68+
69+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
70+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
71+
} else {
72+
$this->dispatcher = $dispatcher;
73+
}
74+
6975
$this->trustResolver = $trustResolver ?: new AuthenticationTrustResolver(AnonymousToken::class, RememberMeToken::class);
7076
}
7177

Firewall/SwitchUserListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,13 @@ public function __construct(TokenStorageInterface $tokenStorage, UserProviderInt
7070
$this->usernameParameter = $usernameParameter;
7171
$this->role = $role;
7272
$this->logger = $logger;
73-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
73+
74+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
75+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
76+
} else {
77+
$this->dispatcher = $dispatcher;
78+
}
79+
7480
$this->stateless = $stateless;
7581
}
7682

Firewall/UsernamePasswordJsonAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
6969
$this->successHandler = $successHandler;
7070
$this->failureHandler = $failureHandler;
7171
$this->logger = $logger;
72-
$this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher);
72+
73+
if (null !== $eventDispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
74+
$this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher);
75+
} else {
76+
$this->eventDispatcher = $eventDispatcher;
77+
}
78+
7379
$this->options = array_merge(['username_path' => 'username', 'password_path' => 'password'], $options);
7480
$this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor();
7581
}

0 commit comments

Comments
 (0)