Prescoped attribute definition turns a simple string-valued attribute into a two-part scoped attribute by splitting the input attribute into three parts, the value, a (fixed) delimiter, and the scope/suffix. Such attributes can be used as input to the SAML2ScopedStringEncoder and SAML1ScopedStringAttributeEncoder attribute encoders.
The prescoped attribute definition is useful when a data connector returns attributes with values which already have an appropriate scope appended in the source system.
xsi:type is defined in the
urn:mace:shibboleth:2.0:resolver namespace 3.3, the schema for which can be located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
Prior to V3.3 supplied plugins were defined by a schema type in the
urn:mace:shibboleth:2.0:resolver:ad namespace, the schema for which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd. This is still supported, but every element or type in the old namespace has an equivalently named (but not necessarily identical) version in the
urn:mace:shibboleth:2.0:resolver namespace. The use of the
urn:mace:shibboleth:2.0:resolver namespace also allows a relaxation of the ordering requirements of child elements to reduce strictness.
Any of the common attributes can be specified. In addition, the optional
scopeDelimiter attribute defines the delimiter which separates the value from the scope. The default is "@".
Any of the common child elements can be specified.
<AttributeDefinition xsi:type="Prescoped" id="eduPersonPrincipalName"> <InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalName" /> <AttributeEncoder xsi:type="SAML1ScopedString" name="urn:mace:dir:attribute-def:eduPersonPrincipalName" encodeType="false" /> <AttributeEncoder xsi:type="SAML2ScopedString" name="urn:oid:22.214.171.124.4.1.59126.96.36.199.6" friendlyName="eduPersonPrincipalName" encodeType="false" /> </AttributeDefinition>