SAML 1 Base64 Attribute Encoder

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

  • The LDAP data connector will Base 64 encode values of attributes that are marked as binary (see Other Connection Properties) so you should use a normal string attribute encoder for such attributes.
  • This encoder only operates on attributes whose values are byte arrays. It will not attempt convert values of other types into a byte array.

Define the Encoder

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

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

and the following optional attribute:

<resolver:AttributeDefinition id="UNIQUE_ID" xsi:type="ad:Simple">

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

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

</resolver:AttributeDefinition>

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