The Shibboleth IdP V3 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP4 wiki space for current documentation on the supported version.

QueryTemplate

The <QueryTemplate> element provides the template from which the SQL query is built.

Schema Name and Location

This element is defined by the urn:mace:shibboleth:2.0:resolver namespace, the schema for which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd

Example

Typically the XML "CDATA" construct is used to wrap the text because it avoids the need for special escaping of most characters.

<QueryTemplate>
  <![CDATA[
         SELECT * FROM people WHERE userid='$resolutionContext.principal'
  ]]>
</QueryTemplate>

Configuration Reference

Attributes

No attributes are defined.

Child Elements

No child elements are defined.

Template Context

As enumerated below, several variables are available to the template context. In practice $resolutionContext.principal and any dependent attributes tend to be most useful.

NameWhen ValidDescription

resolutionContext

alwaysThe AttributeResolutionContext. Commonly useful members include $resolutionContext.principal and $resolutionContext.attributeRecipientID

requestContext

If the springResource attribute is not defined on the containing <DataConnector>The legacy V2SAMLProfileRequestContext, provided for compatibility with most legacy SQL query templates.

foo, bar, etc.

Whenever the enclosing element has a <Dependency> elementFor each IdPAttribute available from all the provided dependencies, the attributes' values are available as a collection under the attribute's name. For the first value, append .get(0) to the attribute name.