| @@ 52-65 (lines=14) @@ | ||
| 49 | { |
|
| 50 | $logoutContext = $context->getLogoutContext(); |
|
| 51 | $ssoSessionState = $logoutContext->getSsoSessionState(); |
|
| 52 | if ($ssoSessionState) { |
|
| 53 | $this->logger->debug( |
|
| 54 | 'SSO session already set', |
|
| 55 | LogHelper::getActionContext($context, $this, array( |
|
| 56 | 'sso_session' => $ssoSessionState, |
|
| 57 | )) |
|
| 58 | ); |
|
| 59 | } else { |
|
| 60 | $this->logger->debug( |
|
| 61 | 'SSO session not defined, about to resolve it', |
|
| 62 | LogHelper::getActionContext($context, $this, array()) |
|
| 63 | ); |
|
| 64 | $ssoSessionState = $this->logoutSessionResolver->resolve($context->getOwnEntityDescriptor()->getEntityID()); |
|
| 65 | } |
|
| 66 | ||
| 67 | if ($ssoSessionState) { |
|
| 68 | $this->logger->debug( |
|
| @@ 67-82 (lines=16) @@ | ||
| 64 | $ssoSessionState = $this->logoutSessionResolver->resolve($context->getOwnEntityDescriptor()->getEntityID()); |
|
| 65 | } |
|
| 66 | ||
| 67 | if ($ssoSessionState) { |
|
| 68 | $this->logger->debug( |
|
| 69 | 'SSO session resolved and being used for logout profile', |
|
| 70 | LogHelper::getActionContext($context, $this, array( |
|
| 71 | 'sso_session' => $ssoSessionState, |
|
| 72 | )) |
|
| 73 | ); |
|
| 74 | $logoutContext->setSsoSessionState($ssoSessionState); |
|
| 75 | $this->logoutProceedAction->execute($context); |
|
| 76 | } else { |
|
| 77 | $this->logger->debug( |
|
| 78 | 'There is no SSO session for logout', |
|
| 79 | LogHelper::getActionContext($context, $this, array()) |
|
| 80 | ); |
|
| 81 | $logoutContext->setAllSsoSessionsTerminated(true); |
|
| 82 | } |
|
| 83 | } |
|
| 84 | } |
|
| 85 | ||