Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/user_saml.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2020-03-11 09:45:35 +0300
committerGitHub <noreply@github.com>2020-03-11 09:45:35 +0300
commitb695da423a6243ea53e81cafeb6a31dce1941ebb (patch)
treeff926fef45e1ce992be76ad0037ba8791024ab37
parent975b7d3f31a5207ef29e269a127b4e87dee1bb45 (diff)
parent2a5130b1f0da8f5f166cadb71e3b45cfe1356429 (diff)
Merge pull request #371 from Worteks/fix-saml-single-logout
Fix SAML Single Logout
-rw-r--r--lib/Controller/SAMLController.php8
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();