InlineMetadataProvider
Namespace: urn:mace:shibboleth:2.0:metadata
Schema: http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
Overview
The InlineMetadataProvider allows the static specification of SAML metadata inside the configuration itself.
Reference
Exactly one of the <md:EntityDescriptor> or <md:EntitiesDescriptor> child elements is required. See the SAML 2.0 Metadata specification and/or our documentation for more information about these elements.
Name | Cardinality | Description |
|---|
Name | Cardinality | Description |
|---|---|---|
0 or more | A metadata filter applied to candidate metadata as it flows through the metadata pipeline | |
<md:EntityDescriptor> | 0 or 1 | Specifies the metadata for a single entity |
<md:EntitiesDescriptor> | 0 or 1 | Specifies the metadata for two or more entities |
Name | Type | Default | Description |
|---|
Name | Type | Default | Description |
|---|---|---|---|
The following attributes are required on all metadata provider types: | |||
id | String | Identifier for logging, identification for command line reload, etc. | |
xsi:type | String |
| Specifies the exact type of provider to use (from those listed above, or a custom extension type) |
The following attributes are common to all metadata provider types except the | |||
requireValidMetadata | Boolean | true | Whether candidate metadata found by the resolver must be valid in order to be returned (where validity is implementation specific, but in SAML cases generally depends on a |
failFastInitialization | Boolean | true | Whether to fail initialization of the underlying MetadataResolverService (and possibly the IdP as a whole) if the initialization of a metadata provider fails. When false, the IdP may start, and will continue to attempt to reload valid metadata if configured to do so, but operations that require valid metadata will fail until it does. |
sortKey | Integer |
| Defines the order in which metadata providers are searched (see below), can only be specified on top level |
metricsBaseName | String |
| Overrides the default name of the metrics reported out by various metadata providers. |
The following are advanced settings supporting a new low-level feature allowing metadata lookup by keys other than the unique entityID and are rarely of use to a deployer. | |||
criterionPredicateRegistryRef | Bean ID |
| Identifies the a custom CriterionPredicateRegistry bean used in resolving predicates from non-predicate input criteria |
useDefaultPredicateRegistry | Boolean | true | Flag which determines whether the default CriterionPredicateRegistry will be used if a custom one is not supplied explicitly |
satisfyAnyPredicates | Boolean | false | Flag which determines whether predicates used in filtering are connected by a logical 'OR' (true) or by logical 'AND' (false) |
Examples
The following example specifies SAML metadata whose top-level element is an <md:EntityDescriptor> element:
<MetadataProvider xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" id="exampleInLineEntity" xsi:type="InlineMetadataProvider" sortKey="1">
<!-- Details removed -->
<md:EntityDescriptor ID="entity" entityID="https://app.example.org/sp">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sp.example.org/Shibboleth.sso/SAML2/POST"
index="1" />
</md:SPSSODescriptor>
</md:EntityDescriptor>
</MetadataProvider>The following example specifies SAML metadata whose top-level element is an <md:EntitiesDescriptor> element:
<MetadataProvider xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" id="exampleInLineEntities" xsi:type="InlineMetadataProvider">
<!-- Details removed -->
<md:EntitiesDescriptor>
<md:EntityDescriptor ID="uk001502" entityID="https://wiki.example.org/sp">
<md:SPSSODescriptor
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sp.example.org/Shibboleth.sso/SAML2/POST"
index="1" />
</md:SPSSODescriptor>
</md:EntityDescriptor>
<!-- Further EntityDescriptors removed -->
</md:EntitiesDescriptor>
</MetadataProvider>