50 : void
51 {
53<md:EntityDescriptor entityID="https://sso.example.org/idp" validUntil="2017-08-30T19:10:29Z"
54 xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
55 xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
56 xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
57 xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
58 xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
59 xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
60 <md:Extensions>
61 <mdrpi:RegistrationInfo registrationAuthority="https://registrar.example.net"/>
62 <mdrpi:PublicationInfo creationInstant="2017-08-16T19:10:29Z" publisher="https://registrar.example.net"/>
63 <mdattr:EntityAttributes>
64 <saml:Attribute Name="http://registrar.example.net/entity-category"
65 NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
66 <saml:AttributeValue>https:
67 </saml:Attribute>
68 </mdattr:EntityAttributes>
69 </md:Extensions>
70 <md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
71 <md:Extensions>
72 <mdui:UIInfo>
73 <mdui:DisplayName xml:lang="en">Example.org</mdui:DisplayName>
74 <mdui:Description xml:lang="en">The identity provider at Example.org</mdui:Description>
75 <mdui:Logo height="32" width="32" xml:lang="en">https:
76 </mdui:UIInfo>
77 </md:Extensions>
78 <md:KeyDescriptor use="signing">
79 <ds:KeyInfo>...</ds:KeyInfo>
80 </md:KeyDescriptor>
81 <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
82 Location="https://idp.example.org/SAML2/SSO/Redirect"/>
83 <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
84 Location="https://idp.example.org/SAML2/SSO/POST"/>
85 </md:IDPSSODescriptor>
86 <md:Organization>
87 <md:OrganizationName xml:lang="en">Example.org Non-Profit Org</md:OrganizationName>
88 <md:OrganizationDisplayName xml:lang="en">Example.org</md:OrganizationDisplayName>
89 <md:OrganizationURL xml:lang="en">https:
90 </md:Organization>
91 <md:ContactPerson contactType="technical">
92 <md:SurName>SAML Technical Support</md:SurName>
93 <md:EmailAddress>mailto:technical-support@example.org</md:EmailAddress>
94 </md:ContactPerson>
95</md:EntityDescriptor>
96EOT;
97
98 $this->parser->parse(
$xml);
99
100 $this->assertFalse($this->parser->result()->isError(), $this->parser->result()->isError() ? $this->parser->result()->error() : '');
101 $this->assertTrue($this->parser->result()->isOK());
102
103 $this->assertSame('https://sso.example.org/idp', $this->parser->result()->value());
104 }