Beispiel #1
0
 /**
  * Test serialization and unserialization
  */
 public function testChunkSerializationLoop()
 {
     $ser = $this->chunk->serialize();
     $document = DOMDocumentFactory::fromString('<root />');
     $newchunk = new Chunk($document->firstChild);
     $newchunk->unserialize($ser);
     $this->assertEqualXMLStructure($this->chunk->getXML(), $newchunk->getXML());
 }
Beispiel #2
0
 /**
  * Add a AuthnStatement-node to the assertion.
  *
  * @param \DOMElement $root The assertion element we should add the authentication statement to.
  */
 private function addAuthnStatement(\DOMElement $root)
 {
     if ($this->authnInstant === null || $this->authnContextClassRef === null && $this->authnContextDecl === null && $this->authnContextDeclRef === null) {
         /* No authentication context or AuthnInstant => no authentication statement. */
         return;
     }
     $document = $root->ownerDocument;
     $authnStatementEl = $document->createElementNS(Constants::NS_SAML, 'saml:AuthnStatement');
     $root->appendChild($authnStatementEl);
     $authnStatementEl->setAttribute('AuthnInstant', gmdate('Y-m-d\\TH:i:s\\Z', $this->authnInstant));
     if ($this->sessionNotOnOrAfter !== null) {
         $authnStatementEl->setAttribute('SessionNotOnOrAfter', gmdate('Y-m-d\\TH:i:s\\Z', $this->sessionNotOnOrAfter));
     }
     if ($this->sessionIndex !== null) {
         $authnStatementEl->setAttribute('SessionIndex', $this->sessionIndex);
     }
     $authnContextEl = $document->createElementNS(Constants::NS_SAML, 'saml:AuthnContext');
     $authnStatementEl->appendChild($authnContextEl);
     if (!empty($this->authnContextClassRef)) {
         Utils::addString($authnContextEl, Constants::NS_SAML, 'saml:AuthnContextClassRef', $this->authnContextClassRef);
     }
     if (!empty($this->authnContextDecl)) {
         $this->authnContextDecl->toXML($authnContextEl);
     }
     if (!empty($this->authnContextDeclRef)) {
         Utils::addString($authnContextEl, Constants::NS_SAML, 'saml:AuthnContextDeclRef', $this->authnContextDeclRef);
     }
     Utils::addStrings($authnContextEl, Constants::NS_SAML, 'saml:AuthenticatingAuthority', false, $this->AuthenticatingAuthority);
 }
 /**
  * Add this RoleDescriptor to an EntityDescriptor.
  *
  * @param \DOMElement $parent The EntityDescriptor we should append this RoleDescriptor to.
  * @return void
  */
 public function toXML(\DOMElement $parent)
 {
     $this->xml->toXML($parent);
 }