namespace MiniOrange\IDPSaml\Helper\Saml2;
use DOMElement;
use MiniOrange\IDPSaml\Helper\IDPUtility;
class SAML2Response
{
public $ownerDocument;
private $assertions;
private $destination;
private $certificates;
private $signatureData;
private $idpUtility;
private $statusCode;
private $xml;
private $assertionNotBefore;
private $assertionNotOnOrAfter;
public function __construct(\DOMElement $ov = NULL, IDPUtility $Ng)
{
$this->assertions = array();
$this->certificates = array();
$this->idpUtility = $Ng;
if (!($ov === NULL)) {
goto ki;
}
return;
ki:
$hk = SAML2Utilities::validateElement($ov);
if (!($hk !== FALSE)) {
goto j4;
}
$this->certificates = $hk["Certificates"];
$this->signatureData = $hk;
j4:
if (!$ov->hasAttribute("Destination")) {
goto TI;
}
$this->destination = $ov->getAttribute("Destination");
TI:
$y8 = $ov->firstChild;
w4:
if (!($y8 !== NULL)) {
goto o0;
}
if (!($y8->namespaceURI !== "urn:oasis:names:tc:SAML:2.0:assertion")) {
goto rV;
}
goto KY;
rV:
if (!($y8->localName === "Assertion" || $y8->localName === "EncryptedAssertion")) {
goto gT;
}
$this->assertions[] = new SAML2Assertion($y8, $this->idpUtility);
$this->assertionNotOnOrAfter = current($this->assertions)->getNotOnOrAfter();
$this->assertionNotBefore = current($this->assertions)->getNotBefore();
gT:
KY:
$y8 = $y8->nextSibling;
goto w4;
o0:
}
public function getAssertions()
{
return $this->assertions;
}
public function setAssertions(array $oH)
{
$this->assertions = $oH;
}
public function getDestination()
{
return $this->destination;
}
public function getCertificates()
{
return $this->certificates;
}
public function getSignatureData()
{
return $this->signatureData;
}
public function getAssertionNotOnOrAfter()
{
return $this->assertionNotOnOrAfter;
}
public function getAssertionNotBefore()
{
return $this->assertionNotBefore;
}
}
© 2023 Quttera Ltd. All rights reserved.