Page tree
Skip to end of metadata
Go to start of metadata

SAML 1 String Attribute Encoder

The SAML 1 string attribute encoder creates SAML 1 <Attribute> elements from resolved attributes with <AttributeValue> elements for each value. The content of these <AttributeValue> elements is a string. This encoder is only used for SAML 1 messages and will be ignored when the IdP is answering other protocol messages.

This encoder will convert the values of the attribute it is attached into strings by means of the Object.toString() method.

Define the Encoder

Attribute encoders are defined in a <resolver:AttributeDefinition> after all <resolver:Dependency>.

To define a new SAML 1 string attribute encoder, create a <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"> with the following required attributes:

  • name: This becomes the AttributeName attribute on the created SAML 1 <Attribute> element

and the following optional attributes:

  • namespace: This becomes the AttributeNamespace attribute on the created SAML 1 <Attribute> element (defaults to urn:mace:shibboleth:1.0:attributeNamespace:uri)
SAML 1 String Attribute Encoder within a Simple Attribute Definition
<resolver:AttributeDefinition id="UNIQUE_ID" xsi:type="ad:Simple">

     <resolver:Dependency ref="DEFINITION_ID_1" />
     <resolver:Dependency ref="CONNECTOR_ID_1" />

     <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                                name="ATTRIBUTE_NAME_1" />

     <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                                name="ATTRIBUTE_NAME_2"
                                namespace="ATTRIBUTE_NAMESPACE" />

</resolver:AttributeDefinition>

Defining more than one attribute encoder allows a deployer to transform a single attribute into multiple <Attribute> elements with different names and/or namespaces.

  • No labels