private function checkRequestXml(\DOMDocument $doc, LogoutRequest $request) { $xpath = new \DOMXPath($doc); $xpath->registerNamespace('samlp', Protocol::SAML2); $xpath->registerNamespace('saml', Protocol::NS_ASSERTION); $list = $xpath->query('/samlp:LogoutRequest'); $this->assertEquals(1, $list->length); /** @var $node \DOMElement */ $node = $list->item(0); $this->assertEquals($request->getReason(), $node->getAttribute('Reason')); $this->assertEquals($request->getID(), $node->getAttribute('ID')); $this->assertEquals('2.0', $node->getAttribute('Version')); $this->assertEquals($this->destination, $node->getAttribute('Destination')); $list = $xpath->query('/samlp:LogoutRequest/saml:Issuer'); $this->assertEquals(1, $list->length); $node = $list->item(0); $this->assertEquals($this->issuer, $node->textContent); $list = $xpath->query('/samlp:LogoutRequest/saml:NameID'); $this->assertEquals(1, $list->length); $node = $list->item(0); $this->assertEquals($request->getNameID()->getFormat(), $node->getAttribute('Format')); $this->assertEquals($request->getNameID()->getValue(), $node->textContent); }
/** * @param LogoutRequest $request * @param ServiceInfo $serviceInfo * @return RequestState */ protected function createRequestState(LogoutRequest $request, ServiceInfo $serviceInfo) { $state = new RequestState(); $state->setId($request->getID()); $state->setDestination($serviceInfo->getIdpProvider()->getEntityDescriptor()->getEntityID()); $this->requestStateStore->set($state); return $state; }