Voor het doorgeven van de rol van een gebruiker binnen de instelling (student, medewerker...) gebruiken we binnen SURFconext vanouds het attribuut eduPersonAffiliation. En dat blijft ook zo. Internationaal is echter het vergelijkbare attribuut eduPersonScopedAffiliation meer in zwang. Dat is historisch zo gegroeid: het ene is niet per se beter dan het andere.

We merken dat het ontbreken van eduPersonScopedAffiliation vaker leidt tot incompatibiliteit met met name internationale service providers. Daarom vragen we onze IdP's om ook dit attribuut te gaan voeren, naast eduPersonAffiliation. Omdat de onderliggende gegevens al beschikbaar zijn in de IdP en het slechts een ander formaat is, zou dit een kleine wijziging moeten zijn voor de meeste instellingen.

De officiƫle naam van het attribuut: urn:mace:dir:attribute-def:eduPersonScopedAffiliation

De waarde(s): "<affiliation van de user> @ <schacHomeOrganization van de instelling>", bijvoorbeeld employee@uniharderwijk.nl.

Zie voor alle details ons attributenschema: Attributen in SURFconext (NL).

In onze Handleidingen en richtlijnen is voor ADFS-varianten toegevoegd hoe dit attribuut te configureren. Voor het gemak vind je het ook hieronder voor ADFS en SimpleSAMLphp.

ADFS (alle varianten)

Om eduPersonScopedAffiliation toe te voegen aan de ADFS claims kan de volgende Custom claims rule gebruikt worden, er vanuit gaande dat de claims "urn:mace:dir:attribute-def:eduPersonAffiliation" en "urn:mace:terena.org:attribute-def:schacHomeOrganization" correct gedefinieerd zijn. Kies voor "Edit Claim rules" en "Add Rule". Kies in het volgende scherm voor "Send Claims Using a Custom Rule" en klik op "Next". Geef de Rule een beschrijvende naam zoals "Create eduPersonScopedAffiliation" en plak de volgende code in het "Custom Rule" venster:

c1:[Type == "urn:mace:dir:attribute-def:eduPersonAffiliation"] &&
c2:[Type == "urn:mace:terena.org:attribute-def:schacHomeOrganization"]
=> issue(Type = "urn:mace:dir:attribute-def:eduPersonScopedAffiliation", Value = c1.Value + "@" + c2.Value);

Klik "Finish" en klik "Ok" in de "Edit Claims Rules" dialoog. Test hierna de uitgifte van het nieuwe attribuut.

SimpleSAMLphp

Het volgende authentication processing filter kan in de "authproc"-sectie van ofwel saml20-idp-hosted ofwel saml20-sp-remote (voor remote SP SURFconext) toegevoegd worden:

    80 => [
        'class' => 'core:ScopeAttribute',
        'scopeAttribute' => 'schacHomeOrganization',
        'sourceAttribute' => 'eduPersonAffiliation',
        'targetAttribute' => 'eduPersonScopedAffiliation',
    ],