Skip to content

Commit cb89a2e

Browse files
committed
Move the creation of the LogoutRequest object to separate function
1 parent a7328b1 commit cb89a2e

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/Saml2/Auth.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ public function processSLO($keepLocalSession = false, $requestId = null, $retrie
299299
}
300300
}
301301
} else if (isset($_GET['SAMLRequest'])) {
302-
$logoutRequest = new LogoutRequest($this->_settings, $_GET['SAMLRequest']);
302+
$logoutRequest = $this->buildLogoutRequest($this->_settings, $_GET['SAMLRequest']);
303303
$this->_lastRequest = $logoutRequest->getXML();
304304
if (!$logoutRequest->isValid($retrieveParametersFromServer)) {
305305
$this->_errors[] = 'invalid_logout_request';
@@ -594,7 +594,7 @@ public function logout($returnTo = null, array $parameters = array(), $nameId =
594594
$nameIdFormat = $this->_nameidFormat;
595595
}
596596

597-
$logoutRequest = new LogoutRequest($this->_settings, null, $nameId, $sessionIndex, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier);
597+
$logoutRequest = $this->buildLogoutRequest($this->_settings, null, $nameId, $sessionIndex, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier);
598598

599599
$this->_lastRequest = $logoutRequest->getXML();
600600
$this->_lastRequestID = $logoutRequest->id;
@@ -675,6 +675,22 @@ public function buildAuthnRequest($settings, $forceAuthn, $isPassive, $setNameId
675675
return new AuthnRequest($settings, $forceAuthn, $isPassive, $setNameIdPolicy, $nameIdValueReq);
676676
}
677677

678+
/**
679+
* Creates an LogoutRequest
680+
*
681+
* @param Settings $settings Settings
682+
* @param string|null $request A UUEncoded Logout Request.
683+
* @param string|null $nameId The NameID that will be set in the LogoutRequest.
684+
* @param string|null $sessionIndex The SessionIndex (taken from the SAML Response in the SSO process).
685+
* @param string|null $nameIdFormat The NameID Format will be set in the LogoutRequest.
686+
* @param string|null $nameIdNameQualifier The NameID NameQualifier will be set in the LogoutRequest.
687+
* @param string|null $nameIdSPNameQualifier The NameID SP NameQualifier will be set in the LogoutRequest.
688+
*/
689+
public function buildLogoutRequest(\OneLogin\Saml2\Settings $settings, $request = null, $nameId = null, $sessionIndex = null, $nameIdFormat = null, $nameIdNameQualifier = null, $nameIdSPNameQualifier = null)
690+
{
691+
return new LogoutRequest($settings, $request, $nameId, $sessionIndex, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier);
692+
}
693+
678694
/**
679695
* Generates the Signature for a SAML Request
680696
*

0 commit comments

Comments
 (0)