Zum Hauptinhalt springen

Person-Info über OIDC-Claims

Der bevorzugte Weg, um nach einer Anmeldung auf die Informationen der sich anmeldenden Person zuzugreifen, ist über die API /person-info.

In einigen Fällen, insbesondere wenn nur ein kleiner Teil der möglichen Informationen, beispielsweise nur ID, Vorname und Nachname benötigt wird, ist es für Dienstanbieter einfacher, wenn kein gesonderter REST-Call auf die API erfolgen muss, sondern die Information direkt als Teil des OIDC-ID-Tokens mitgeliefert wird.

Die hier über Claims bereitgestellten Informationen entsprechen den durch /person-info bereitgestellten Informationen. Wie auch bei den durch die API /person-info bereitgestellten Informationen sind diese im Schulconnex-Server konfigurierbar. Welche Konfiguration vorgenommen wird, ist von der vertraglichen Vereinbarung zwischen dem Dienstanbieter und dem Betreiber des Schulconnex-Servers abhängig.

Es gibt in OIDC eine Reihe von Standard-Claims, wie sub, given_name oder family_name. Wo bereits Standard-Claims existieren, welche den Attributnamen in /person-info entsprechen, werden die (englischen) Claim-Namen benutzt. Für Attribute, welche kein Äquivalent in den Standard-Claims besitzen, werden eigene, Schulconnex-spezifische, Claims in URN-Form genutzt.

Die folgende Tabelle gibt das Mapping von Attribut-Namen auf Claim-Namen wieder.

Attribut-NameClaim-Name
idsub
familiennamefamily_name
vornamegiven_name
rufnameurn:schulconnex:de:person:name:rufname
erreichbarkeiten[0].kennungemail (existieren mehrere Erreichbarkeiten des Typs „E-Mail“, so wird die erste E-Mail Kennung übermittelt)
personenkontext.rolleurn:schulconnex:de:personenkontext:rolle
personenkontext.organisation.kennungurn:schulconnex:de:personenkontext:organisation:kennung

Die gelieferten Werte zu den einzelnen Attributen entsprechen immer den Konventionen, die auch bei /person-info genutzt werden und nicht den Werten, welche den Standard OIDC-Claims entsprechen.

Wird kein Scope Request verwendet, so wird nur der Claim sub (entspricht der pseudonymisierten Personen-ID) geliefert.

{
"sub": "af3a88fc-d766-11ec-9d64-0242ac120002"
}

Über einen entsprechenden Scope Request (scope=person-info) können auch Vorname, Nachname, Rolle und Organisationskennung mitgeliefert werden.

{
"sub": "af3a88fc-d766-11ec-9d64-0242ac120002",
"family_name": "Muster",
"given_name": "Maximilian Klaus Dieter",
"urn:schulconnex:de:person:name:rufname": "Maximilian",
"email": "Max.Muster@schule_1234.de",
"urn:schulconnex:de:personenkontext:rolle": "Lern",
"urn:schulconnex:de:personenkontext:organisation:kennung": "NI_12345"
}