Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Template attribute definition generates output values by combining merging the input values of multiple input attributes according to a Velocity macro templateits source attributes into a Velocity template string (essentially an inline template).

All the input attributes must contain the same number of input values (null or empty values take up a spot and are included in this count).

...

This xsi:type is defined by the urn:mace:shibboleth:2.0:resolver schema 3 namespace 3.3, the schema for which can be located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd.

Prior to V3.3 supplied plugins were defined by a schema type (xsi: type ) in the urn:mace:shibboleth:2.0:resolver:ad namespace, the schema for which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd. This is still supported, but every element or type in the  urn:mace:shibboleth:2.0:resolver:ad old namespace has an equivalently named (but not necessarily identical) version in the urn:mace:shibboleth:2.0:resolver namespace. The use of the urn:mace:shibboleth:2.0:resolver namespace also allows a relaxation of the ordering requirements of child elements to reduce strictness.

...

Any of the common child elements can be specified. In addition the following elements are supported:

NameCardinalityDescription
<Template>
0 or 1The template to use. If a template is not provided, then the output value is produced by appending the input values of each of the input attributes in the order in which they are declared as sources.
<SourceAttribute>
1 or moreThe names of the source attributes which are to be fed into the template.

Example

Code Block
languagexml
<AttributeDefinition id="template" xsi:type="Template">
    <Dependency ref="OtherAttr" />
    <Dependency ref="myLdap" />

    <ad:Template>${attrFromLdap}::${OtherAttr}</ad:Template>
    <ad:SourceAttribute>attrFromLdap</ad:SourceAttribute>
    <ad:SourceAttribute>OtherAttr</ad:SourceAttribute>

    <AttributeEncoder xsi:type="SAML2String" name="https://example.org/example/name" friendlyName="templated" />

</AttributeDefinition>