cs:tech:attributes:schacpersonaluniquecode

schacPersonalUniqueCode

Definice

Proces studentské mobility (Erasmus without Paper) vyžaduje globálně unikátní, persistentní, necílený, protokolově a datově neutrální evropský studentský identifikátor — ESI (European Student Identifier), který je v rámci SAML protokolu transportován právě v atributu schacPersonalUniqueCode.

Kódování

  • SAML2: urn:oid:1.3.6.1.4.1.25178.1.2.14

Implementace

  • V následující ukázce kódu je použita „dokumentační“ doména example.org, kterou musíte nahradit svým „scopem“ — tím, co máte např. v atributu eduPersonPrincipalName za zavináčem, což je většinou doména druhého řádu organizace.
  • Celková délka atributu nesmí překročit 255 znaků!

Následující ukázka implementace využívá atributu uid, do kterého se ze systému STAG posílá OSOBIDNO obsahující řetězec „st“ následovaný číslem uživatele, např. st123456, ze kterého se počáteční „st“ odebere a číslo se přidá na konec řetězce „urn:schac:personalUniqueCode:int:esi:example.org:“.

Ze vstupní hodnoty st123456 se tedy stane výstupní hodnota urn:schac:personalUniqueCode:int:esi:example.org:123456.

Generování výstupní hodnoty atributu schacPersonalUniqueCode závisí i na atributu eduPersonAffiliation, který musí obsahovat klíčové slovo „student“.

<!-- schacPersonalUniqueCode -->
<AttributeDefinition xsi:type="ScriptedAttribute" id="schacPersonalUniqueCode">
    <InputDataConnector ref="myLDAP" attributeNames="uid" />
    <InputAttributeDefinition ref="eduPersonAffiliation" />
    <Script>
    <![CDATA[
        if (typeof eduPersonAffiliation !== "undefined") {
            if (eduPersonAffiliation.getValues().contains("student")) {
                var value = "";
                value = "urn:schac:personalUniqueCode:int:esi:example.org:" + uid.getValues().get(0).substring(2);
                schacPersonalUniqueCode.addValue( value );
            }
        }
    ]]>
    </Script>
    <AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.25178.1.2.14" friendlyName="schacPersonalUniqueCode" encodeType="false"/>
</AttributeDefinition>

Příklad

urn:schac:personalUniqueCode:int:esi:example.org:123456

Poslední úprava:: 2021/11/11 14:56