diff --git a/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php b/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php index 21819ce4a9968..d9062560134fd 100644 --- a/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php @@ -94,10 +94,9 @@ public function handle(GetResponseEvent $event) } // handle multiple logout attempts gracefully - if ($token = $this->tokenStorage->getToken()) { - foreach ($this->handlers as $handler) { - $handler->logout($request, $response, $token); - } + $token = $this->tokenStorage->getToken(); + foreach ($this->handlers as $handler) { + $handler->logout($request, $response, $token); } $this->tokenStorage->setToken(null); diff --git a/src/Symfony/Component/Security/Http/Logout/CookieClearingLogoutHandler.php b/src/Symfony/Component/Security/Http/Logout/CookieClearingLogoutHandler.php index b96bc43a78d5d..28fd164430df4 100644 --- a/src/Symfony/Component/Security/Http/Logout/CookieClearingLogoutHandler.php +++ b/src/Symfony/Component/Security/Http/Logout/CookieClearingLogoutHandler.php @@ -35,7 +35,7 @@ public function __construct(array $cookies) /** * Implementation for the LogoutHandlerInterface. Deletes all requested cookies. */ - public function logout(Request $request, Response $response, TokenInterface $token) + public function logout(Request $request, Response $response, TokenInterface $token = null) { foreach ($this->cookies as $cookieName => $cookieData) { $response->headers->clearCookie($cookieName, $cookieData['path'], $cookieData['domain']); diff --git a/src/Symfony/Component/Security/Http/Logout/LogoutHandlerInterface.php b/src/Symfony/Component/Security/Http/Logout/LogoutHandlerInterface.php index 363bc4abe1630..b4752b4cf039c 100644 --- a/src/Symfony/Component/Security/Http/Logout/LogoutHandlerInterface.php +++ b/src/Symfony/Component/Security/Http/Logout/LogoutHandlerInterface.php @@ -27,5 +27,5 @@ interface LogoutHandlerInterface * to be logged out. Usually, you would unset session variables, or remove * cookies, etc. */ - public function logout(Request $request, Response $response, TokenInterface $token); + public function logout(Request $request, Response $response, TokenInterface $token = null); } diff --git a/src/Symfony/Component/Security/Http/Logout/SessionLogoutHandler.php b/src/Symfony/Component/Security/Http/Logout/SessionLogoutHandler.php index 7f362de9d7a2b..302de5fd4a2d4 100644 --- a/src/Symfony/Component/Security/Http/Logout/SessionLogoutHandler.php +++ b/src/Symfony/Component/Security/Http/Logout/SessionLogoutHandler.php @@ -25,7 +25,7 @@ class SessionLogoutHandler implements LogoutHandlerInterface /** * Invalidate the current session. */ - public function logout(Request $request, Response $response, TokenInterface $token) + public function logout(Request $request, Response $response, TokenInterface $token = null) { $request->getSession()->invalidate(); } diff --git a/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php b/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php index afff015ed47b9..30bc5abd89445 100644 --- a/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php +++ b/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php @@ -155,7 +155,7 @@ final public function autoLogin(Request $request) /** * Implementation for LogoutHandlerInterface. Deletes the cookie. */ - public function logout(Request $request, Response $response, TokenInterface $token) + public function logout(Request $request, Response $response, TokenInterface $token = null) { $this->cancelCookie($request); }
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: