The SAML2ScopedString
attribute encoder encodes an IdPAttribute with "scoped" string values as a SAML 2 Attribute. This encoder typically combines the value and scope strings, adds a delimiter, and produces a simple string-valued element.
Schema Name and Location
This xsi:type
is defined by the urn:mace:shibboleth:2.0:resolver
schema 3.3, which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd.
Prior to V3.3 supplied plugins were defined by a schema type (xsi:type) in the urn:mace:shibboleth:2.0:encoder schema
, which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd. This is still supported, but every element or type in the urn:mace:shibboleth:2.0:encoder schema
has an identically named version in the urn:mace:shibboleth:2.0:resolver
schema.
Attributes
Any of the common attributes can be specified. In addition, the following are supported:
Name | Type | Req? | Default | Description |
---|---|---|---|---|
name | String | Y | Value to put into the "Name " attribute of the output <AttributeValue> elements | |
nameFormat | String | urn:oasis:names:tc:SAML:2.0:attrname-format:uri | Value to put into the "NameForma t" attribute of the output <AttributeValue> elements | |
friendlyName | String | Value to put into the "FriendlyName " attribute of the output <AttributeValue> elements | ||
scopeAttribute | String | Scope | If scopeType is "attribute", then the scope is passed an XML attribute inside the <AttributeValue> elements with this name while the (unscoped) value is passed in the content of the element | |
scopeDelimiter | String | @ | If scopeType is "inline", then the output <AttributeValue> element content is constructed by concatenating the unscoped value, the value of this attribute, and the scope | |
scopeType | "attribute" or "inline" | inline | Defines what format the attribute is to be encoded in, generally should be left alone |
Examples
<AttributeEncoder xsi:type="SAML2ScopedString" name="https://example.org/oldstyle" friendlyName="OldScopedFormat" scopeType="attribute"/> <AttributeEncoder xsi:type="SAML2ScopedString" name="https://example.org/newstyle" friendlyName="NewScopedFormat" scopeDelimiter="#"/>