diff options
author | Johannes M. Schmitt <schmittjoh@gmail.com> | 2011-02-14 20:24:48 +0100 |
---|---|---|
committer | Fabien Potencier <fabien.potencier@gmail.com> | 2011-02-14 20:55:07 +0100 |
commit | 8935fffb1d647f46f071c7f1b4b20264240820c9 (patch) | |
tree | 08fd4135e82b0879b896f71bdab1416c0e65245a /Http/Logout | |
parent | 213a312859e19e391e9f11a35369e3525c54a7d3 (diff) | |
download | symfony-security-8935fffb1d647f46f071c7f1b4b20264240820c9.zip symfony-security-8935fffb1d647f46f071c7f1b4b20264240820c9.tar.gz symfony-security-8935fffb1d647f46f071c7f1b4b20264240820c9.tar.bz2 |
[Security] fixes a bug when clearing cookies on logout
Diffstat (limited to 'Http/Logout')
-rw-r--r-- | Http/Logout/CookieClearingLogoutHandler.php | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/Http/Logout/CookieClearingLogoutHandler.php b/Http/Logout/CookieClearingLogoutHandler.php index ea6bff3..91fdc3d 100644 --- a/Http/Logout/CookieClearingLogoutHandler.php +++ b/Http/Logout/CookieClearingLogoutHandler.php @@ -22,24 +22,15 @@ use Symfony\Component\HttpFoundation\Request; */ class CookieClearingLogoutHandler implements LogoutHandlerInterface { - protected $cookieNames; + protected $cookies; /** * Constructor - * @param array $cookieNames An array of cookie names to unset + * @param array $cookies An array of cookie names to unset */ - public function __construct(array $cookieNames) + public function __construct(array $cookies) { - $this->cookieNames = $cookieNames; - } - - /** - * Returns the names of the cookies to unset - * @return array - */ - public function getCookieNames() - { - return $this->cookieNames; + $this->cookies = $cookies; } /** @@ -52,8 +43,8 @@ class CookieClearingLogoutHandler implements LogoutHandlerInterface */ public function logout(Request $request, Response $response, TokenInterface $token) { - foreach ($this->cookieNames as $cookieName) { - $response->headers->clearCookie($cookieName); + foreach ($this->cookies as $cookieName => $cookieData) { + $response->headers->clearCookie($cookieName, $cookieData['path'], $cookieData['domain']); } } } |