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 created by invoking the resolve attribute values Object.toString() method. This encoder is only used for SAML 1 messages and will be ignored when the IdP is answering other protocol messages.
Define the Encoder
Attribute encoders are defined after any dependencies with an <resolver:AttributeDefinition>
.
To define a new SAML 1 string attribute encoder, create a <esolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder">
with the following attributes:
- name - this becomes the
AttributeName
attribute on the created SAML 1<Attribute>
element; this attribute is required - namespace - this becomes the
AttributeNamespace
attribute on the created SAML 1<Attribute>
element; defaults to urn:mace:shibboleth:1.0:attributeNamespace:uri
<resolver:AttributeDefinition id="UNIQUE_ID" xsi:type="ad:Simple"> <resolver:Dependency ref="DEFINITION_ID_1" /> <resolver:Dependency ref="DEFINITION_ID_2" /> <resolver:Dependency ref="CONNECTOR_ID_3" /> <resolver:Dependency ref="CONNECTOR_ID_4" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="ATTRIBUTE_NAME_1" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" 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.