SAML2 Attribute Definitions
Attribute definitions that specifically apply to the release of
attributes as part of SAML response can be defined using the SamlIdPAttributeDefinition
. Defining an attribute with this definition does not
prevent it from being released by other protocols.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"@class": "java.util.TreeMap",
"eduPersonPrincipalName": {
"@class": "org.apereo.cas.support.saml.web.idp.profile.builders.attr.SamlIdPAttributeDefinition",
"key": "eduPersonPrincipalName",
"name": "eduPersonPrincipalName",
"urn": "urn:oid:1.3.6.1.4.1.5923.1.1.1.6",
"scoped": true,
"encrypted": false,
"attribute": "uid",
"friendlyName": "eduPersonPrincipalName",
"persistent": false,
"salt": "6jGzT@!nf0i3"
}
}
The following additional settings can be specified for a SAML attribute definition:
Name | Description |
---|---|
friendlyName |
(Optional) Friendly name of the attribute shared with the target application during attribute release. |
urn |
(Optional) Defined Universal Resource name for an attribute (i.e. urn:oid:1.3.6.1.4.1.5923.1.1.1.6 ). |
persistent |
(Optional) Boolean flag to indicate whether the attribute value should be generated as a persistent value. |
salt |
Required Salt value to use when creating persistent attribute definition values. This field supports the Spring Expression Language syntax. |
To learn more about attribute definitions, please see this guide.
Persistent Definitions
Attributes such as eduPersonTargetedID
can be registered as a persistent attribute definition, allowing CAS to provide an opaque identifier
for the username. This value is a tuple consisting of an opaque identifier for the principal, a name
for the source of the identifier, and a name for the intended audience of the identifier.
1
2
3
4
5
6
7
8
9
10
11
12
{
"@class": "java.util.TreeMap",
"eduPersonTargetedID": {
"@class": "org.apereo.cas.support.saml.web.idp.profile.builders.attr.SamlIdPAttributeDefinition",
"key": "eduPersonTargetedID",
"name": "eduPersonTargetedID",
"urn": "urn:oid:1.3.6.1.4.1.5923.1.1.1.10",
"persistent": true,
"salt": "OqmG80fEKBQt",
"friendlyName": "eduPersonTargetedID"
}
}
Defaults
By default, the following known attribute definitions are included and ship with CAS automatically:
Name | URN |
---|---|
uid |
urn:oid:0.9.2342.19200300.100.1.1 |
title |
urn:oid:2.5.4.12 |
sn |
urn:oid:2.5.4.4 |
surname |
urn:oid:2.5.4.4 |
givenName |
urn:oid:2.5.4.42 |
telephoneNumber |
urn:oid:2.5.4.20 |
email |
urn:oid:0.9.2342.19200300.100.1.3 |
mail |
urn:oid:0.9.2342.19200300.100.1.3 |
commonName |
urn:oid:2.5.4.3 |
displayName |
urn:oid:2.16.840.1.113730.3.1.241 |
organizationName |
urn:oid:2.5.4.10 |
eduPersonPrimaryAffiliation |
urn:oid:1.3.6.1.4.1.5923.1.1.1.5 |
eduPersonAffiliation |
urn:oid:1.3.6.1.4.1.5923.1.1.1.1 |
eduPersonTargetedID |
urn:oid:1.3.6.1.4.1.5923.1.1.1.10 |
eduPersonEntitlement |
urn:oid:1.3.6.1.4.1.5923.1.1.1.7 |
eduPersonPrincipalName |
urn:oid:1.3.6.1.4.1.5923.1.1.1.6 |
eduPersonScopedAffiliation |
urn:oid:1.3.6.1.4.1.5923.1.1.1.9 |
eduPersonUniqueId |
urn:oid:1.3.6.1.4.1.5923.1.1.1.13 |
eduPersonAssurance |
urn:oid:1.3.6.1.4.1.5923.1.1.1.11 |
eduPersonNickname |
urn:oid:1.3.6.1.4.1.5923.1.1.1.2 |
eduPersonOrcid |
urn:oid:1.3.6.1.4.1.5923.1.1.1.14 |