samlAuth = $samlAuth; } /** * This method is called by the LogoutListener when a user has requested * to be logged out. Usually, you would unset session variables, or remove * cookies, etc. * * @param Request $request * @param Response $response * @param TokenInterface $token */ public function logout(Request $request, Response $response, TokenInterface $token) { if (!$token instanceof SamlTokenInterface) { return; } try { $this->samlAuth->processSLO(); } catch (Error $e) { if (!empty($this->samlAuth->getSLOurl())) { $sessionIndex = $token->hasAttribute('sessionIndex') ? $token->getAttribute('sessionIndex') : null; $this->samlAuth->logout(null, [], $token->getUsername(), $sessionIndex); } } } }