getAuthenticatingAuthority() public method

Retrieve the AuthenticatingAuthority.
public getAuthenticatingAuthority ( ) : array
return array
Beispiel #1
0
    public function testUnmarshalling()
    {
        // Unmarshall an assertion
        $xml = <<<XML
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
                ID="_593e33ddf86449ce4d4c22b60ac48e067d98a0b2bf"
                Version="2.0"
                IssueInstant="2010-03-05T13:34:28Z"
>
  <saml:Issuer>testIssuer</saml:Issuer>
  <saml:Conditions>
    <saml:AudienceRestriction>
      <saml:Audience>audience1</saml:Audience>
      <saml:Audience>audience2</saml:Audience>
    </saml:AudienceRestriction>
  </saml:Conditions>
  <saml:AuthnStatement AuthnInstant="2010-03-05T13:34:28Z">
    <saml:AuthnContext>
      <saml:AuthnContextClassRef>someAuthnContext</saml:AuthnContextClassRef>
      <saml:AuthenticatingAuthority>someIdP1</saml:AuthenticatingAuthority>
      <saml:AuthenticatingAuthority>someIdP2</saml:AuthenticatingAuthority>
    </saml:AuthnContext>
  </saml:AuthnStatement>
</saml:Assertion>
XML;
        $document = DOMDocumentFactory::fromString($xml);
        $assertion = new Assertion($document->firstChild);
        // Test for valid audiences
        $assertionValidAudiences = $assertion->getValidAudiences();
        $this->assertCount(2, $assertionValidAudiences);
        $this->assertEquals('audience1', $assertionValidAudiences[0]);
        $this->assertEquals('audience2', $assertionValidAudiences[1]);
        // Test for Authenticating Authorities
        $assertionAuthenticatingAuthorities = $assertion->getAuthenticatingAuthority();
        $this->assertCount(2, $assertionAuthenticatingAuthorities);
        $this->assertEquals('someIdP1', $assertionAuthenticatingAuthorities[0]);
        $this->assertEquals('someIdP2', $assertionAuthenticatingAuthorities[1]);
    }
Beispiel #2
0
 /**
  * Test an assertion with lots of options
  */
 public function testMarshallingUnmarshallingChristmas()
 {
     // Create an assertion
     $assertion = new Assertion();
     $assertion->setIssuer('testIssuer');
     $assertion->setValidAudiences(array('audience1', 'audience2'));
     // deprecated function
     $this->assertNull($assertion->getAuthnContext());
     $assertion->setAuthnContext('someAuthnContext');
     $assertion->setAuthnContextDeclRef('/relative/path/to/document.xml');
     $assertion->setID("_123abc");
     $assertion->setIssueInstant(1234567890);
     $assertion->setAuthnInstant(1234567890 - 1);
     $assertion->setNotBefore(1234567890 - 10);
     $assertion->setNotOnOrAfter(1234567890 + 100);
     $assertion->setSessionNotOnOrAfter(1234568890 + 200);
     $assertion->setSessionIndex("idx1");
     $assertion->setAuthenticatingAuthority(array("idp1", "idp2"));
     $assertion->setAttributes(array("name1" => array("value1", "value2"), "name2" => array(2), "name3" => array(null)));
     $assertion->setAttributeNameFormat("urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified");
     $assertionElement = $assertion->toXML()->ownerDocument->saveXML();
     $assertionToVerify = new Assertion(DOMDocumentFactory::fromString($assertionElement)->firstChild);
     $this->assertEquals('/relative/path/to/document.xml', $assertionToVerify->getAuthnContextDeclRef());
     $this->assertEquals('_123abc', $assertionToVerify->getId());
     $this->assertEquals(1234567890, $assertionToVerify->getIssueInstant());
     $this->assertEquals(1234567889, $assertionToVerify->getAuthnInstant());
     $this->assertEquals(1234567880, $assertionToVerify->getNotBefore());
     $this->assertEquals(1234567990, $assertionToVerify->getNotOnOrAfter());
     $this->assertEquals(1234569090, $assertionToVerify->getSessionNotOnOrAfter());
     $this->assertEquals('idx1', $assertionToVerify->getSessionIndex());
     $authauth = $assertionToVerify->getAuthenticatingAuthority();
     $this->assertCount(2, $authauth);
     $this->assertEquals("idp2", $authauth[1]);
     $attributes = $assertionToVerify->getAttributes();
     $this->assertCount(3, $attributes);
     $this->assertCount(2, $attributes['name1']);
     $this->assertEquals("value1", $attributes['name1'][0]);
     $this->assertEquals(2, $attributes['name2'][0]);
     // NOTE: nil attribute is currently parsed as string..
     //$this->assertNull($attributes["name3"][0]);
     $this->assertEquals("urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified", $assertionToVerify->getAttributeNameFormat());
 }