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-Name | Claim-Name |
---|---|
id | sub |
familienname | family_name |
vorname | given_name |
rufname | urn:schulconnex:de:person:name:rufname |
erreichbarkeiten[0].kennung | email (existieren mehrere Erreichbarkeiten des Typs „E-Mail“, so wird die erste E-Mail Kennung übermittelt) |
personenkontext.rolle | urn:schulconnex:de:personenkontext:rolle |
personenkontext.organisation.kennung | urn: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"
}