diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2020-03-11 09:45:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-11 09:45:35 +0300 |
commit | b695da423a6243ea53e81cafeb6a31dce1941ebb (patch) | |
tree | ff926fef45e1ce992be76ad0037ba8791024ab37 | |
parent | 975b7d3f31a5207ef29e269a127b4e87dee1bb45 (diff) | |
parent | 2a5130b1f0da8f5f166cadb71e3b45cfe1356429 (diff) |
Merge pull request #371 from Worteks/fix-saml-single-logout
Fix SAML Single Logout
-rw-r--r-- | lib/Controller/SAMLController.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Controller/SAMLController.php b/lib/Controller/SAMLController.php index 5946f80d..a0247301 100644 --- a/lib/Controller/SAMLController.php +++ b/lib/Controller/SAMLController.php @@ -280,6 +280,9 @@ class SAMLController extends Controller { $this->session->set('user_saml.samlUserData', $auth->getAttributes()); $this->session->set('user_saml.samlNameId', $auth->getNameId()); + $this->session->set('user_saml.samlNameIdFormat', $auth->getNameIdFormat()); + $this->session->set('user_saml.samlNameIdNameQualifier', $auth->getNameIdNameQualifier()); + $this->session->set('user_saml.samlNameIdSPNameQualifier', $auth->getNameIdSPNameQualifier()); $this->session->set('user_saml.samlSessionIndex', $auth->getSessionIndex()); $this->session->set('user_saml.samlSessionExpiration', $auth->getSessionExpiration()); try { @@ -356,8 +359,11 @@ class SAMLController extends Controller { // If request is not from IDP, we must send him the logout request $parameters = array(); $nameId = $this->session->get('user_saml.samlNameId'); + $nameIdFormat = $this->session->get('user_saml.samlNameIdFormat'); + $nameIdNameQualifier = $this->session->get('user_saml.samlNameIdNameQualifier'); + $nameIdSPNameQualifier = $this->session->get('user_saml.samlNameIdSPNameQualifier'); $sessionIndex = $this->session->get('user_saml.samlSessionIndex'); - $targetUrl = $auth->logout(null, [], $nameId, $sessionIndex, $stay); + $targetUrl = $auth->logout(null, [], $nameId, $sessionIndex, $stay, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier); } if(!empty($targetUrl) && !$auth->getLastErrorReason()){ $this->userSession->logout(); |