Nelmio\SecurityBundle\EventListener\FlexibleSslListener::logout PHP Method

logout() public method

public logout ( Request $request, Response $response, Symfony\Component\Security\Core\Authentication\Token\TokenInterface $token )
$request Symfony\Component\HttpFoundation\Request
$response Symfony\Component\HttpFoundation\Response
$token Symfony\Component\Security\Core\Authentication\Token\TokenInterface
    public function logout(Request $request, Response $response, TokenInterface $token)
    {
        if ($this->unsecuredLogout) {
            $location = $response->headers->get('Location');
            $response->headers->set('Location', preg_replace('/^https/', 'http', $location));
        }
        $response->headers->clearCookie($this->cookieName);
    }

Usage Example

 public function testUnsecuredLogout()
 {
     $unsecuredLogoutListener = new FlexibleSslListener('auth', true, $this->dispatcher);
     $response = new RedirectResponse('https://foo');
     $request = $this->getMock('Symfony\\Component\\HttpFoundation\\Request');
     $token = $this->getMock('Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface');
     $unsecuredLogoutListener->logout($request, $response, $token);
     $this->assertSame('http://foo', $response->headers->get('Location'));
 }