Versions Compared

Key

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

Namespace: urn:mace:shibboleth:2.0:resolver
Schema: http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd

Table of Contents
maxLevel3

Overview

The Template AttributeDefinition generates output values by merging the input values of its 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).

Any type of attribute value can be injected into a template; however, scoped attribute values will only supply the unscoped/value portion.

Note that it's usually an anti-pattern to use an <InputDataConnector>  with the allAttributes property, because this will only work correctly if all the inputs have the same number of values. If you have result sets (e.g. from LDAP) that don't satisfy this rule, just make sure to enumerate the attributes you need. This used to be handled with an extra configuration element called <SourceAttribute> but this is no longer needed because of the new dependency syntax and is no longer supported.

Reference

Expand
titleSpecific XML Attributes

Name

Type

Description

velocityEngine

string

Bean ID of an externally defined (using native Spring syntax) VelocityEngine, rarely needed

Expand
titleSpecific XML Elements

Name

Cardinality

Description

<Template>

1

Contains the template string

Expand
titleProperties

These properties are shared by all (non view) users of velocity template rendering.

Name

Default

Controls

idp.velocity.runtime.strictmode

false

How errors in the template are handled. By default, non existant variables are silently passed through unconverted. See this link

idp.velocity.space.gobbling

bc

See this link.

Expand
titleCommon XML Attributes
Include Page
AttributeDefinitionCommonAttributes
AttributeDefinitionCommonAttributes
Expand
titleCommon XML Elements
Include Page
AttributeDefinitionCommonChildElements
AttributeDefinitionCommonChildElements

Example

Code Block
languagexml
<AttributeDefinition id="template" xsi:type="Template">
    <InputAttributeDefinition ref="OtherAttr" />
    <InputDataConnector ref="myLdap" attributeNames="attrFromLdap" />
    <Template>${attrFromLdap}::${OtherAttr}</Template>
</AttributeDefinition>