Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
AttributeDefintions produce a single IdPAttribute object, a neutral/internal representation of data. These objects eventually become SAML Attributes, OIDC claims, or other protocol-specific represenations through a process called "encoding". Encoding rules are established either through generic rules established via the AttributeRegistryConfiguration or, as in older versions, by attaching AttributeEncoder plugins within the Attribute Definition.
The ability to attach encoders is what distinguishes the product of an AttributeDefinition from an IdPAttribute produced by DataConnectors, so the difference has started to become somewhat historical with the new registry service providing a more generic facility.
Attribute definitions may also, but need not, be based on the output of a DataConnector, and often transform their input.
AttributeDefinition Plugin Types
An AttributeDefinition is defined using the <AttributeDefinition> element, but each type of definition is distinguished by its "XML schema type", which is carried by the xsi:type XML attribute.
Copies an input attribute to an output attribute. Typically this was used to 'expose' attributes sourced from a DataConnector, and is often superfluous now with the ability to export attributes from them directly.
All connectors support a set of common XML Attributes and Elements for configuring common behavior.
Name
Type
Default
Description
Name
Type
Default
Description
id
String
Identifier for the IdPAttribute as well as its definition. This is used for logging and to establish dependencies and relationships between connectors and definitions, and to reference the data item in filter rules and many other configuration features.
Note that the value MUST NOT contain whitespace, and use of certain other special characters will result in warnings that should be addressed in case the rules are made more strict in future versions.
activationConditionRef
Bean Reference
Bean ID of a condition to decide whether to resolve this definition, see here. Mutually exclusive with relyingParties and resolutionPhases and variants
relyingParties
Space-delimited list
List of entity IDs for which this Attribute Definition should be resolved. Mutually exclusive with activationConditionRef
excludeRelyingParties
Space-delimited list
List of entity IDs for which this Attribute Definition should not be resolved. Mutually exclusive with activationConditionRef
resolutionPhases
space-delimited list
List of resolution labels for which this Attribute Definition should be resolved; this corresponds to values that are sometimes set in the AttributeResolutionContext’s “resolutionLabel” field. Mutually exclusive with activationConditionRef
excludeResolutionPhases
space-delimited list
List of resolution labels for which this Attribute Definition should not be resolved; this corresponds to values that are sometimes set in the AttributeResolutionContext’s “resolutionLabel” field. Mutually exclusive with activationConditionRef
dependencyOnly
Boolean
false
If set to true, the attribute is not exposed outside the resolution process and is available solely within the resolution process
If set to true, the attribute (and its dependencies) will be resolved in pre-pass and its value made available to other definitions' ActivationConditions.
Whether connector/plugin failure is fatal to the entire attribute resolution process. If this is set to false the error is logged and no values are returned for this attribute.
Name
Cardinality
Description
Name
Cardinality
Description
<InputAttributeDefinition>
0 or more
This element identifies an attribute definition which is an input to this attribute definition.
<InputDataConnector>
0 or more
This element identifies a data connector whose attributes are to be input to this attribute definition.
<AttributeEncoder>
0 or more
An inline definition of how an attribute will be encoded for inclusion in a message to a relying party. These are distinguished by an xsi:type attribute, and the different types are documented here.