Skip to content

Commit 6d8e9b2

Browse files
committed
Renamed $providerKey to $firewallName
1 parent 7a9bac9 commit 6d8e9b2

22 files changed

+102
-61
lines changed

Authentication/CustomAuthenticationSuccessHandler.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,21 @@ class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler
2222
private $handler;
2323

2424
/**
25-
* @param array $options Options for processing a successful authentication attempt
26-
* @param string $providerKey The provider key
25+
* @param array $options Options for processing a successful authentication attempt
2726
*/
28-
public function __construct(AuthenticationSuccessHandlerInterface $handler, array $options, string $providerKey)
27+
public function __construct(AuthenticationSuccessHandlerInterface $handler, array $options, string $firewallName)
2928
{
3029
$this->handler = $handler;
3130
if (method_exists($handler, 'setOptions')) {
3231
$this->handler->setOptions($options);
3332
}
34-
if (method_exists($handler, 'setProviderKey')) {
35-
$this->handler->setProviderKey($providerKey);
33+
34+
if (method_exists($handler, 'setFirewallName')) {
35+
$this->handler->setFirewallName($firewallName);
36+
} elseif (method_exists($handler, 'setProviderKey')) {
37+
trigger_deprecation('symfony/security-http', '5.2', 'Method "%s::setProviderKey()" is deprecated, rename the method to "setFirewallName()" instead.', \get_class($handler));
38+
39+
$this->handler->setProviderKey($firewallName);
3640
}
3741
}
3842

Authentication/DefaultAuthenticationSuccessHandler.php

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ class DefaultAuthenticationSuccessHandler implements AuthenticationSuccessHandle
3030

3131
protected $httpUtils;
3232
protected $options;
33+
/** @deprecated since 5.2, use $firewallName instead */
3334
protected $providerKey;
35+
protected $firewallName;
3436
protected $defaultOptions = [
3537
'always_use_default_target_path' => false,
3638
'default_target_path' => '/',
@@ -75,17 +77,45 @@ public function setOptions(array $options)
7577
* Get the provider key.
7678
*
7779
* @return string
80+
*
81+
* @deprecated since 5.2, use getFirewallName() instead
7882
*/
7983
public function getProviderKey()
8084
{
81-
return $this->providerKey;
85+
if (1 !== \func_num_args() || true !== func_get_arg(0)) {
86+
trigger_deprecation('symfony/security-core', '5.2', 'Method "%s()" is deprecated, use "getFirewallName()" instead.', __METHOD__);
87+
}
88+
89+
if ($this->providerKey !== $this->firewallName) {
90+
trigger_deprecation('symfony/security-core', '5.2', 'The "%1$s::$providerKey" property is deprecated, use "%1$s::$firewallName" instead.', __CLASS__);
91+
92+
return $this->providerKey;
93+
}
94+
95+
return $this->firewallName;
8296
}
8397

8498
public function setProviderKey(string $providerKey)
8599
{
100+
if (2 !== \func_num_args() || true !== func_get_arg(1)) {
101+
trigger_deprecation('symfony/security-http', '5.2', 'Method "%s" is deprecated, use "setFirewallName()" instead.', __METHOD__);
102+
}
103+
86104
$this->providerKey = $providerKey;
87105
}
88106

107+
public function getFirewallName(): ?string
108+
{
109+
return $this->getProviderKey(true);
110+
}
111+
112+
public function setFirewallName(string $firewallName): void
113+
{
114+
$this->setProviderKey($firewallName, true);
115+
116+
$this->firewallName = $firewallName;
117+
}
118+
89119
/**
90120
* Builds the target URL according to the defined options.
91121
*
@@ -101,8 +131,9 @@ protected function determineTargetUrl(Request $request)
101131
return $targetUrl;
102132
}
103133

104-
if (null !== $this->providerKey && $targetUrl = $this->getTargetPath($request->getSession(), $this->providerKey)) {
105-
$this->removeTargetPath($request->getSession(), $this->providerKey);
134+
$firewallName = $this->getFirewallName();
135+
if (null !== $firewallName && $targetUrl = $this->getTargetPath($request->getSession(), $firewallName)) {
136+
$this->removeTargetPath($request->getSession(), $firewallName);
106137

107138
return $targetUrl;
108139
}

Authenticator/AbstractPreAuthenticatedAuthenticator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public function isInteractive(): bool
117117
private function clearToken(AuthenticationException $exception): void
118118
{
119119
$token = $this->tokenStorage->getToken();
120-
if ($token instanceof PreAuthenticatedToken && $this->firewallName === $token->getProviderKey()) {
120+
if ($token instanceof PreAuthenticatedToken && $this->firewallName === $token->getFirewallName()) {
121121
$this->tokenStorage->setToken(null);
122122

123123
if (null !== $this->logger) {

Authenticator/Token/PostAuthenticationToken.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function __construct(UserInterface $user, string $firewallName, array $ro
2727
{
2828
parent::__construct($roles);
2929

30-
if (empty($firewallName)) {
30+
if ('' === $firewallName) {
3131
throw new \InvalidArgumentException('$firewallName must not be empty.');
3232
}
3333

Event/LoginSuccessEvent.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class LoginSuccessEvent extends Event
3838
private $authenticatedToken;
3939
private $request;
4040
private $response;
41-
private $providerKey;
41+
private $firewallName;
4242

4343
public function __construct(AuthenticatorInterface $authenticator, PassportInterface $passport, TokenInterface $authenticatedToken, Request $request, ?Response $response, string $firewallName)
4444
{
@@ -47,7 +47,7 @@ public function __construct(AuthenticatorInterface $authenticator, PassportInter
4747
$this->authenticatedToken = $authenticatedToken;
4848
$this->request = $request;
4949
$this->response = $response;
50-
$this->providerKey = $firewallName;
50+
$this->firewallName = $firewallName;
5151
}
5252

5353
public function getAuthenticator(): AuthenticatorInterface
@@ -81,7 +81,7 @@ public function getRequest(): Request
8181

8282
public function getFirewallName(): string
8383
{
84-
return $this->providerKey;
84+
return $this->firewallName;
8585
}
8686

8787
public function setResponse(?Response $response): void

Firewall/AbstractAuthenticationListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private function onFailure(Request $request, AuthenticationException $failed): R
179179
}
180180

181181
$token = $this->tokenStorage->getToken();
182-
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getProviderKey()) {
182+
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getFirewallName()) {
183183
$this->tokenStorage->setToken(null);
184184
}
185185

Firewall/AbstractPreAuthenticatedListener.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public function authenticate(RequestEvent $event)
8383
}
8484

8585
if (null !== $token = $this->tokenStorage->getToken()) {
86-
if ($token instanceof PreAuthenticatedToken && $this->providerKey == $token->getProviderKey() && $token->isAuthenticated() && $token->getUsername() === $user) {
86+
if ($token instanceof PreAuthenticatedToken && $this->providerKey == $token->getFirewallName() && $token->isAuthenticated() && $token->getUsername() === $user) {
8787
return;
8888
}
8989
}
@@ -128,7 +128,7 @@ public function setSessionAuthenticationStrategy(SessionAuthenticationStrategyIn
128128
private function clearToken(AuthenticationException $exception)
129129
{
130130
$token = $this->tokenStorage->getToken();
131-
if ($token instanceof PreAuthenticatedToken && $this->providerKey === $token->getProviderKey()) {
131+
if ($token instanceof PreAuthenticatedToken && $this->providerKey === $token->getFirewallName()) {
132132
$this->tokenStorage->setToken(null);
133133

134134
if (null !== $this->logger) {

Firewall/BasicAuthenticationListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public function authenticate(RequestEvent $event)
9090
$this->tokenStorage->setToken($token);
9191
} catch (AuthenticationException $e) {
9292
$token = $this->tokenStorage->getToken();
93-
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getProviderKey()) {
93+
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getFirewallName()) {
9494
$this->tokenStorage->setToken(null);
9595
}
9696

Firewall/ExceptionListener.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ExceptionListener
4747
use TargetPathTrait;
4848

4949
private $tokenStorage;
50-
private $providerKey;
50+
private $firewallName;
5151
private $accessDeniedHandler;
5252
private $authenticationEntryPoint;
5353
private $authenticationTrustResolver;
@@ -56,12 +56,12 @@ class ExceptionListener
5656
private $httpUtils;
5757
private $stateless;
5858

59-
public function __construct(TokenStorageInterface $tokenStorage, AuthenticationTrustResolverInterface $trustResolver, HttpUtils $httpUtils, string $providerKey, AuthenticationEntryPointInterface $authenticationEntryPoint = null, string $errorPage = null, AccessDeniedHandlerInterface $accessDeniedHandler = null, LoggerInterface $logger = null, bool $stateless = false)
59+
public function __construct(TokenStorageInterface $tokenStorage, AuthenticationTrustResolverInterface $trustResolver, HttpUtils $httpUtils, string $firewallName, AuthenticationEntryPointInterface $authenticationEntryPoint = null, string $errorPage = null, AccessDeniedHandlerInterface $accessDeniedHandler = null, LoggerInterface $logger = null, bool $stateless = false)
6060
{
6161
$this->tokenStorage = $tokenStorage;
6262
$this->accessDeniedHandler = $accessDeniedHandler;
6363
$this->httpUtils = $httpUtils;
64-
$this->providerKey = $providerKey;
64+
$this->firewallName = $firewallName;
6565
$this->authenticationEntryPoint = $authenticationEntryPoint;
6666
$this->authenticationTrustResolver = $trustResolver;
6767
$this->errorPage = $errorPage;
@@ -230,7 +230,7 @@ protected function setTargetPath(Request $request)
230230
{
231231
// session isn't required when using HTTP basic authentication mechanism for example
232232
if ($request->hasSession() && $request->isMethodSafe() && !$request->isXmlHttpRequest()) {
233-
$this->saveTargetPath($request->getSession(), $this->providerKey, $request->getUri());
233+
$this->saveTargetPath($request->getSession(), $this->firewallName, $request->getUri());
234234
}
235235
}
236236
}

Firewall/SwitchUserListener.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,24 @@ class SwitchUserListener extends AbstractListener
4444
private $tokenStorage;
4545
private $provider;
4646
private $userChecker;
47-
private $providerKey;
47+
private $firewallName;
4848
private $accessDecisionManager;
4949
private $usernameParameter;
5050
private $role;
5151
private $logger;
5252
private $dispatcher;
5353
private $stateless;
5454

55-
public function __construct(TokenStorageInterface $tokenStorage, UserProviderInterface $provider, UserCheckerInterface $userChecker, string $providerKey, AccessDecisionManagerInterface $accessDecisionManager, LoggerInterface $logger = null, string $usernameParameter = '_switch_user', string $role = 'ROLE_ALLOWED_TO_SWITCH', EventDispatcherInterface $dispatcher = null, bool $stateless = false)
55+
public function __construct(TokenStorageInterface $tokenStorage, UserProviderInterface $provider, UserCheckerInterface $userChecker, string $firewallName, AccessDecisionManagerInterface $accessDecisionManager, LoggerInterface $logger = null, string $usernameParameter = '_switch_user', string $role = 'ROLE_ALLOWED_TO_SWITCH', EventDispatcherInterface $dispatcher = null, bool $stateless = false)
5656
{
57-
if (empty($providerKey)) {
58-
throw new \InvalidArgumentException('$providerKey must not be empty.');
57+
if ('' === $firewallName) {
58+
throw new \InvalidArgumentException('$firewallName must not be empty.');
5959
}
6060

6161
$this->tokenStorage = $tokenStorage;
6262
$this->provider = $provider;
6363
$this->userChecker = $userChecker;
64-
$this->providerKey = $providerKey;
64+
$this->firewallName = $firewallName;
6565
$this->accessDecisionManager = $accessDecisionManager;
6666
$this->usernameParameter = $usernameParameter;
6767
$this->role = $role;
@@ -181,7 +181,7 @@ private function attemptSwitchUser(Request $request, string $username): ?TokenIn
181181

182182
$roles = $user->getRoles();
183183
$roles[] = 'ROLE_PREVIOUS_ADMIN';
184-
$token = new SwitchUserToken($user, $user->getPassword(), $this->providerKey, $roles, $token);
184+
$token = new SwitchUserToken($user, $user->getPassword(), $this->firewallName, $roles, $token);
185185

186186
if (null !== $this->dispatcher) {
187187
$switchEvent = new SwitchUserEvent($request, $token->getUser(), $token);

Firewall/UsernamePasswordJsonAuthenticationListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ private function onFailure(Request $request, AuthenticationException $failed): R
177177
}
178178

179179
$token = $this->tokenStorage->getToken();
180-
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getProviderKey()) {
180+
if ($token instanceof UsernamePasswordToken && $this->providerKey === $token->getFirewallName()) {
181181
$this->tokenStorage->setToken(null);
182182
}
183183

Logout/LogoutUrlGenerator.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,14 @@ private function getListener(?string $key): array
136136
throw new \InvalidArgumentException('Unable to generate a logout url for an anonymous token.');
137137
}
138138

139-
if (null !== $token && method_exists($token, 'getProviderKey')) {
140-
$key = $token->getProviderKey();
139+
if (null !== $token) {
140+
if (method_exists($token, 'getFirewallName')) {
141+
$key = $token->getFirewallName();
142+
} elseif (method_exists($token, 'getProviderKey')) {
143+
trigger_deprecation('symfony/security-http', '5.2', 'Method "%s::getProviderKey()" has been deprecated, rename it to "getFirewallName()" instead.', \get_class($token));
144+
145+
$key = $token->getProviderKey();
146+
}
141147

142148
if (isset($this->listeners[$key])) {
143149
return $this->listeners[$key];

RememberMe/AbstractRememberMeServices.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,20 @@ abstract class AbstractRememberMeServices implements RememberMeServicesInterface
4141
'httponly' => true,
4242
'samesite' => null,
4343
];
44-
private $providerKey;
44+
private $firewallName;
4545
private $secret;
4646
private $userProviders;
4747

4848
/**
4949
* @throws \InvalidArgumentException
5050
*/
51-
public function __construct(iterable $userProviders, string $secret, string $providerKey, array $options = [], LoggerInterface $logger = null)
51+
public function __construct(iterable $userProviders, string $secret, string $firewallName, array $options = [], LoggerInterface $logger = null)
5252
{
5353
if (empty($secret)) {
5454
throw new \InvalidArgumentException('$secret must not be empty.');
5555
}
56-
if (empty($providerKey)) {
57-
throw new \InvalidArgumentException('$providerKey must not be empty.');
56+
if ('' === $firewallName) {
57+
throw new \InvalidArgumentException('$firewallName must not be empty.');
5858
}
5959
if (!\is_array($userProviders) && !$userProviders instanceof \Countable) {
6060
$userProviders = iterator_to_array($userProviders, false);
@@ -65,7 +65,7 @@ public function __construct(iterable $userProviders, string $secret, string $pro
6565

6666
$this->userProviders = $userProviders;
6767
$this->secret = $secret;
68-
$this->providerKey = $providerKey;
68+
$this->firewallName = $firewallName;
6969
$this->options = array_merge($this->options, $options);
7070
$this->logger = $logger;
7171
}
@@ -123,7 +123,7 @@ final public function autoLogin(Request $request): ?TokenInterface
123123
$this->logger->info('Remember-me cookie accepted.');
124124
}
125125

126-
return new RememberMeToken($user, $this->providerKey, $this->secret);
126+
return new RememberMeToken($user, $this->firewallName, $this->secret);
127127
} catch (CookieTheftException $e) {
128128
$this->loginFail($request, $e);
129129

Tests/Authentication/AuthenticatorManagerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,8 @@ private function createAuthenticator($supports = true)
239239
return $authenticator;
240240
}
241241

242-
private function createManager($authenticators, $providerKey = 'main', $eraseCredentials = true)
242+
private function createManager($authenticators, $firewallName = 'main', $eraseCredentials = true)
243243
{
244-
return new AuthenticatorManager($authenticators, $this->tokenStorage, $this->eventDispatcher, $providerKey, null, $eraseCredentials);
244+
return new AuthenticatorManager($authenticators, $this->tokenStorage, $this->eventDispatcher, $firewallName, null, $eraseCredentials);
245245
}
246246
}

Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function testRequestRedirections(Request $request, $options, $redirectedU
2929
$token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')->getMock();
3030
$handler = new DefaultAuthenticationSuccessHandler($httpUtils, $options);
3131
if ($request->hasSession()) {
32-
$handler->setProviderKey('admin');
32+
$handler->setFirewallName('admin');
3333
}
3434
$this->assertSame('http://localhost'.$redirectedUrl, $handler->onAuthenticationSuccess($request, $token)->getTargetUrl());
3535
}

Tests/EventListener/RememberMeListenerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,17 @@ public function testCredentialsInvalid()
7575
$this->listener->onFailedLogin($event);
7676
}
7777

78-
private function createLoginSuccessfulEvent($providerKey, $response, PassportInterface $passport = null)
78+
private function createLoginSuccessfulEvent($firewallName, $response, PassportInterface $passport = null)
7979
{
8080
if (null === $passport) {
8181
$passport = new SelfValidatingPassport(new User('test', null), [new RememberMeBadge()]);
8282
}
8383

84-
return new LoginSuccessEvent($this->createMock(AuthenticatorInterface::class), $passport, $this->token, $this->request, $response, $providerKey);
84+
return new LoginSuccessEvent($this->createMock(AuthenticatorInterface::class), $passport, $this->token, $this->request, $response, $firewallName);
8585
}
8686

87-
private function createLoginFailureEvent($providerKey)
87+
private function createLoginFailureEvent($firewallName)
8888
{
89-
return new LoginFailureEvent(new AuthenticationException(), $this->createMock(AuthenticatorInterface::class), $this->request, null, $providerKey, null);
89+
return new LoginFailureEvent(new AuthenticationException(), $this->createMock(AuthenticatorInterface::class), $this->request, null, $firewallName, null);
9090
}
9191
}

Tests/EventListener/SessionStrategyListenerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ public function testStatelessFirewalls()
6060
$listener->onSuccessfulLogin($this->createEvent('api_firewall'));
6161
}
6262

63-
private function createEvent($providerKey)
63+
private function createEvent($firewallName)
6464
{
65-
return new LoginSuccessEvent($this->createMock(AuthenticatorInterface::class), new SelfValidatingPassport(new User('test', null)), $this->token, $this->request, null, $providerKey);
65+
return new LoginSuccessEvent($this->createMock(AuthenticatorInterface::class), new SelfValidatingPassport(new User('test', null)), $this->token, $this->request, null, $firewallName);
6666
}
6767

6868
private function configurePreviousSession()

Tests/Firewall/SwitchUserListenerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ protected function setUp(): void
4949
$this->event = new RequestEvent($this->getMockBuilder(HttpKernelInterface::class)->getMock(), $this->request, HttpKernelInterface::MASTER_REQUEST);
5050
}
5151

52-
public function testProviderKeyIsRequired()
52+
public function testFirewallNameIsRequired()
5353
{
5454
$this->expectException('InvalidArgumentException');
55-
$this->expectExceptionMessage('$providerKey must not be empty');
55+
$this->expectExceptionMessage('$firewallName must not be empty');
5656
new SwitchUserListener($this->tokenStorage, $this->userProvider, $this->userChecker, '', $this->accessDecisionManager);
5757
}
5858

Tests/Logout/LogoutUrlGeneratorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public function testGuessFromCurrentFirewallContext()
8888
$this->assertSame('/logout', $this->generator->getLogoutPath());
8989
}
9090

91-
public function testGuessFromTokenWithoutProviderKeyFallbacksToCurrentFirewall()
91+
public function testGuessFromTokenWithoutFirewallNameFallbacksToCurrentFirewall()
9292
{
9393
$this->tokenStorage->setToken(new UsernamePasswordToken('username', 'password', 'provider'));
9494
$this->generator->registerListener('secured_area', '/logout', null, null);

0 commit comments

Comments
 (0)