Skip to content

Commit 9e03729

Browse files
committed
Move the creation of the LogoutResponse object to separate function
1 parent cb89a2e commit 9e03729

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/Saml2/Auth.php

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ public function processSLO($keepLocalSession = false, $requestId = null, $retrie
279279
$this->_errors = array();
280280
$this->_lastError = $this->_lastErrorException = null;
281281
if (isset($_GET['SAMLResponse'])) {
282-
$logoutResponse = new LogoutResponse($this->_settings, $_GET['SAMLResponse']);
282+
$logoutResponse = $this->buildLogoutResponse($this->_settings, $_GET['SAMLResponse']);
283283
$this->_lastResponse = $logoutResponse->getXML();
284284
if (!$logoutResponse->isValid($requestId, $retrieveParametersFromServer)) {
285285
$this->_errors[] = 'invalid_logout_response';
@@ -315,7 +315,7 @@ public function processSLO($keepLocalSession = false, $requestId = null, $retrie
315315
}
316316
$inResponseTo = $logoutRequest->id;
317317
$this->_lastMessageId = $logoutRequest->id;
318-
$responseBuilder = new LogoutResponse($this->_settings);
318+
$responseBuilder = $this->buildLogoutResponse($this->_settings);
319319
$responseBuilder->build($inResponseTo);
320320
$this->_lastResponse = $responseBuilder->getXML();
321321

@@ -670,7 +670,7 @@ public function getLastRequestID()
670670
*
671671
* @return AuthnRequest The AuthnRequest object
672672
*/
673-
public function buildAuthnRequest($settings, $forceAuthn, $isPassive, $setNameIdPolicy, $nameIdValueReq = null)
673+
public function buildAuthnRequest(Settings $settings, $forceAuthn, $isPassive, $setNameIdPolicy, $nameIdValueReq = null)
674674
{
675675
return new AuthnRequest($settings, $forceAuthn, $isPassive, $setNameIdPolicy, $nameIdValueReq);
676676
}
@@ -686,11 +686,26 @@ public function buildAuthnRequest($settings, $forceAuthn, $isPassive, $setNameId
686686
* @param string|null $nameIdNameQualifier The NameID NameQualifier will be set in the LogoutRequest.
687687
* @param string|null $nameIdSPNameQualifier The NameID SP NameQualifier will be set in the LogoutRequest.
688688
*/
689-
public function buildLogoutRequest(\OneLogin\Saml2\Settings $settings, $request = null, $nameId = null, $sessionIndex = null, $nameIdFormat = null, $nameIdNameQualifier = null, $nameIdSPNameQualifier = null)
689+
public function buildLogoutRequest(Settings $settings, $request = null, $nameId = null, $sessionIndex = null, $nameIdFormat = null, $nameIdNameQualifier = null, $nameIdSPNameQualifier = null)
690690
{
691691
return new LogoutRequest($settings, $request, $nameId, $sessionIndex, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier);
692692
}
693693

694+
/**
695+
* Constructs a Logout Response object (Initialize params from settings and if provided
696+
* load the Logout Response.
697+
*
698+
* @param Settings $settings Settings.
699+
* @param string|null $response An UUEncoded SAML Logout response from the IdP.
700+
*
701+
* @throws Error
702+
* @throws Exception
703+
*/
704+
public function buildLogoutResponse(Settings $settings, $response = null)
705+
{
706+
return new LogoutResponse($settings, $response);
707+
}
708+
694709
/**
695710
* Generates the Signature for a SAML Request
696711
*

0 commit comments

Comments
 (0)