SAML1Base64AttributeEncoder
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.
Please Note
- 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:
- name: Becomes the
AttributeNameattribute on the created SAML 1<Attribute>element.
and the following optional attribute:
- namespace: Becomes the
AttributeNamespaceattribute on the created SAML 1<Attribute>element. Defaults tourn:mace:shibboleth:1.0:attributeNamespace:uri.
<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.