93 lines
3.7 KiB
XML
93 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<EntityDescriptor
|
|
entityID="{{ entity_id }}"
|
|
xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
|
|
<SPSSODescriptor
|
|
AuthnRequestsSigned="true"
|
|
WantAssertionsSigned="true"
|
|
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
|
|
<Extensions>
|
|
<idpdisc:DiscoveryResponse index="1"
|
|
xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
|
|
Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
|
|
Location="{{ discovery_endpoint_url }}"/>
|
|
</Extensions>
|
|
{% for public_key in public_keys %}
|
|
<KeyDescriptor>
|
|
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
|
|
<ds:X509Data>
|
|
<ds:X509Certificate>{{ public_key }}</ds:X509Certificate>
|
|
</ds:X509Data>
|
|
</ds:KeyInfo>
|
|
</KeyDescriptor>
|
|
{% endfor %}
|
|
<SingleLogoutService
|
|
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
|
|
Location="{{ logout_url }}" />
|
|
{% for name_id_format in name_id_formats %}
|
|
<NameIDFormat>{{ name_id_format }}</NameIDFormat>
|
|
{% endfor %}
|
|
<AssertionConsumerService
|
|
index="0"
|
|
{% if default_assertion_consumer_binding == "artifact" %}
|
|
isDefault="true"
|
|
{% endif %}
|
|
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
|
|
Location="{{ login_url }}" />
|
|
<AssertionConsumerService
|
|
index="1"
|
|
{% if default_assertion_consumer_binding == "post" %}
|
|
isDefault="true"
|
|
{% endif %}
|
|
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
|
|
Location="{{ login_url }}" />
|
|
</SPSSODescriptor>
|
|
{% if organization and organization.NAMES and organization.DISPLAY_NAMES and organization.URLS %}
|
|
<Organization>
|
|
{% for name in organization.NAMES %}
|
|
{% if name.LABEL %}
|
|
<OrganizationName {% if name.LANG %}xml:lang="{{ name.LANG }}"{% endif %}>{{ name.LABEL }}</OrganizationName>
|
|
{% else %}
|
|
<OrganizationName>{{ name }}</OrganizationName>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% for display_name in organization.DISPLAY_NAMES %}
|
|
{% if display_name.LABEL %}
|
|
<OrganizationDisplayName {% if display_name.LANG %}xml:lang="{{ display_name.LANG }}"{% endif %}>{{ display_name.LABEL }}</OrganizationDisplayName>
|
|
{% else %}
|
|
<OrganizationDisplayName>{{ display_name }}</OrganizationDisplayName>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% for url in organization.URLS %}
|
|
{% if url.URL %}
|
|
<OrganizationURL {% if url.LANG %}xml:lang="{{ url.LANG }}"{% endif %}>{{ url.URL }}</OrganizationURL>
|
|
{% else %}
|
|
<OrganizationURL>{{ url }}</OrganizationURL>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</Organization>
|
|
{% endif %}
|
|
{% for contact_person in contact_persons %}
|
|
{% if contact_person.CONTACT_TYPE %}
|
|
<ContactPerson contactType="{{ contact_person.CONTACT_TYPE }}">
|
|
{% if contact_person.COMPANY %}
|
|
<Company>{{ contact_person.COMPANY }}</Company>
|
|
{% endif %}
|
|
{% if contact_person.GIVEN_NAME %}
|
|
<GivenName>{{ contact_person.GIVEN_NAME }}</GivenName>
|
|
{% endif %}
|
|
{% if contact_person.SURNAME %}
|
|
<SurName>{{ contact_person.SURNAME }}</SurName>
|
|
{% endif %}
|
|
{% for email_address in contact_person.EMAIL_ADDRESSES %}
|
|
<EmailAddress>{{ email_address }}</EmailAddress>
|
|
{% endfor %}
|
|
{% for telephone_number in contact_person.TELEPHONE_NUMBERS %}
|
|
<TelephoneNumber>{{ telephone_number }}</TelephoneNumber>
|
|
{% endfor %}
|
|
</ContactPerson>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
</EntityDescriptor>
|