When a user logs in to a service provider, SURFconext sends a so-called SAML assertion to the service provider. This SAML assertion contains a number of statements about the user who is logging in to you service, including his identity, and possibly a number of additional attributes (see below). More information about SAML can be found on this page.
In general, SURFconext's SAML2 implementation adheres to the SAML2int standard.
On this page, we explain which attributes SURFconext and its identity providers can provide for the services. A guide for identity providers, explaining which attributes should be released to SURFconext, is found elsewhere.
...
Persistent and transient identifiers typically have the form "bd09168cf0c2e675b2def0ade6f50b7d4bb4aaef
". However, this form may change in the future, and service providers MUST NOT rely on the fact that the NameId is a 40-character hexadecimal string.
Formally, these formats are defined in the SAML2int standard. The two supported NameId types, for respectively persistent and transient NameId
specifiers, are
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
which are specified in sections 8.3.7 and 8.3.8 of the SAML2 core specification.
The legacy format is not standardized, and currently has the type urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
.
Attributes
, as defined in the SAML 1.1 specification. Legacy identifiers in SURFconext have the form uid@example.org
. Although these might look like email addresses, they are not, and mail sent to such addresses might not (and mostly will not) be delivered.
By default, SURFconext offers the transient form of the NameId to services. Service providers who have a need for persistent identifiers can negotiate use of the persistent NameId format when their service is connected to SURFconext.
Attributes
By default, the NameId is the only piece of information about the euthenticated user that SURFconext conveys By default, SURFconext only transmits persistent NameIds to SPs. However, in many cases these services require more information about the usersuser, such as a name or an email address.
Because of European privacy regulations, we cannot release such information to the SPs by default. In order to receive additional information, the user's home institution needs to give permission for each SP to receive its users' data. Typically, such permission will be arranged for during the initial SURFconext setup procedure.
Furthermore, when a user first logs in to a service, SURFconext informs them about the attributes and the information contained therein that is going to be sent to the service. If the user does not consent to his information being transmitted, they can still abort the login to the service.
SURFconext supports two atttributes schemas: the urn:oid
schema and the urn:mace
schema. Both of these can be used to convey the same information (except for the NameId, which is only available in the urn:oid
schema. By default SURFconext will provide attributes in both schemata as part of the assertion. It is not recommended to mix the use of these schemata.
...
Friendly name | Attribute name | Definition | Data type | Example | |
---|---|---|---|---|---|
ID | (NameId) | UTF8 string | bd09168cf0c2e675b2def0ade6f50b7d4bb4aae | ||
Surname | UTF8 string | Vermeegen | |||
Given name | UTF8 string | Mërgim Lukáš | |||
Common name | UTF8 String | Prof.dr. Mërgim Lukáš Vermeegen | |||
Display name | urn:mace:dir:attribute-def:displayName | UTF8 String | Prof.dr. Mërgim L. Vermeegen | ||
Email address | urn:mace:dir:attribute-def:mail | RFC-5322 address | m.l.vermeegen@university.example.org | ]]></ac:plain-text-body></ac:structured-macro> | |
Organization | urn:mace:terena.org:attribute-def:schacHomeOrganization | RFC-1035 domain string | university.example.org | ||
Organization Type | urn:mace:terena.org:attribute-def:schacHomeOrganizationType | RFC-2141 URN | urn:mace:terena.org:schac:homeOrganizationType:int:university | ||
Affiliation | urn:mace:dir:attribute-def:eduPersonAffiliation | Enum type (UTF8 String) | faculty, student, staff, (alum, member, affiliate, employee, library-walk-in) | ||
Entitlement | urn:mace:dir:attribute-def:eduPersonEntitlement | RFC-2141 URN | to be determined per service | ||
PrincipalName | urn:mace:dir:attribute-def:eduPersonPrincipalName | UTF8 String | not.a@vålîd.émail.addreß | ||
isMemberOf | urn:mace:dir:attribute-def:isMemberOf | RFC-2141 URN | urn:collab:org:surf.nl | ||
uid | urn:mace:dir:attribute-def:uid | UTF8 String | s9603145 | ||
preferredLanguage | urn:mace:dir:attribute-def:preferredLanguage | List of BCP47 language tag tags | nl -BE |
Note that not all identity providers might make all attributes available.
Detailed attribute descriptions
...
ID
See above.
Surname
urn:mace | |
urn:oid | |
Multiplicity | single-valued |
Description | The surname of a person (including any words such as "van", "de", "von" etc.) used for personalisation; this can be a combination of existing attributes. |
Notes |
|
...