use NameId format, name qualifier and name SP qualifier in SAML logout request

Signed-off-by: Clément OUDOT <clement.oudot@worteks.com>
This commit is contained in:
Clément OUDOT 2019-12-16 15:04:20 +01:00
parent 87ab9cf1d0
commit 04fcb5387b
1 changed files with 7 additions and 1 deletions

View File

@ -279,6 +279,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.samlNameIdNameSPQualifier', $auth->getNameIdNameSPQualifier());
$this->session->set('user_saml.samlSessionIndex', $auth->getSessionIndex());
$this->session->set('user_saml.samlSessionExpiration', $auth->getSessionExpiration());
try {
@ -355,8 +358,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');
$nameIdNameSPQualifier = $this->session->get('user_saml.samlNameIdNameSPQualifier');
$sessionIndex = $this->session->get('user_saml.samlSessionIndex');
$targetUrl = $auth->logout(null, [], $nameId, $sessionIndex, $stay);
$targetUrl = $auth->logout(null, [], $nameId, $sessionIndex, $stay, $nameIdFormat, $nameIdNameQualifier, $nameIdNameSPQualifier);
}
if(!empty($targetUrl) && !$auth->getLastErrorReason()){
$this->userSession->logout();