PageSourceSearch

https://schulconnex.de/assets/js/c880ea56.5ecae04a.js

js schulconnex.de collected 2026-10-04 13:32:34 UTC 6,760 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkschulconnex=globalThis.webpackChunkschulconnex||[]).push([[6745],{4394(e,n,i){i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"schnittstellen/oidc-claims","title":"OIDC-Claims","description":"Der bevorzugte Weg, um nach einer Anmeldung auf die Informationen der sich anmeldenden Person","source":"@site/docs/schnittstellen/oidc-claims.md","sourceDirName":"schnittstellen","slug":"/schnittstellen/oidc-claims","permalink":"/docs/schnittstellen/oidc-claims","draft":false,"unlisted":false,"tags":[{"inline":true,"label":"Verbindlich","permalink":"/docs/tags/verbindlich"}],"version":"current","frontMatter":{"title":"OIDC-Claims","tags":["Verbindlich"]},"sidebar":"spezDiensteSidebar","previous":{"title":"Autorisierung Dienstanbieter","permalink":"/docs/schnittstellen/autorisierung-dienste"},"next":{"title":"Praxisleitfaden","permalink":"/docs/praxisleitfaden/praxisleitfaden-dienste"}}');var s=i(74848),t=i(28453);const d={title:"OIDC-Claims",tags:["Verbindlich"]},c="Person-Info \xfcber OIDC-Claims",l={},o=[];function a(e){const n={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"person-info-\xfcber-oidc-claims",children:"Person-Info \xfcber OIDC-Claims"})}),"\n",(0,s.jsxs)(n.p,{children:["Der bevorzugte Weg, um nach einer Anmeldung auf die Informationen der sich anmeldenden Person\nzuzugreifen, ist \xfcber die API ",(0,s.jsx)(n.code,{children:"/person-info"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"In einigen F\xe4llen, insbesondere wenn nur ein kleiner Teil der m\xf6glichen Informationen,\nbeispielsweise nur ID, Vorname und Nachname ben\xf6tigt wird, ist es f\xfcr Dienstanbieter einfacher,\nwenn kein gesonderter REST-Call auf die API erfolgen muss, sondern die Information direkt\nals Teil des OIDC-ID-Tokens mitgeliefert wird."}),"\n",(0,s.jsxs)(n.p,{children:["Die hier \xfcber Claims bereitgestellten Informationen entsprechen den durch ",(0,s.jsx)(n.code,{children:"/person-info"}),"\nbereitgestellten Informationen. Wie auch bei den durch die API ",(0,s.jsx)(n.code,{children:"/person-info"})," bereitgestellten\nInformationen sind diese im Schulconnex-Server konfigurierbar. Welche Konfiguration vorgenommen\nwird, ist von der vertraglichen Vereinbarung zwischen dem Dienstanbieter und dem Betreiber\ndes Schulconnex-Servers abh\xe4ngig."]}),"\n",(0,s.jsxs)(n.p,{children:["Es gibt in OIDC eine Reihe von Standard-Claims, wie ",(0,s.jsx)(n.code,{children:"sub"}),", ",(0,s.jsx)(n.code,{children:"given_name"})," oder ",(0,s.jsx)(n.code,{children:"family_name"}),".\nWo bereits Standard-Claims existieren, welche den Attributnamen in ",(0,s.jsx)(n.code,{children:"/person-info"})," entsprechen,\nwerden die (englischen) Claim-Namen benutzt. F\xfcr Attribute, welche kein \xc4quivalent in den\nStandard-Claims besitzen, werden eigene, Schulconnex-spezifische, Claims in URN-Form genutzt."]}),"\n",(0,s.jsx)(n.p,{children:"Die folgende Tabelle gibt das Mapping von Attribut-Namen auf Claim-Namen wieder."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Attribut-Name"}),(0,s.jsx)(n.th,{children:"Claim-Name"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"id"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sub"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"familienname"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"family_name"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"vorname"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"given_name"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"rufname"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"urn:schulconnex:de:person:name:rufname"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"erreichbarkeiten[0].kennung"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"email"})," (existieren mehrere Erreichbarkeiten des Typs \u201eE-Mail\u201c, so wird die erste E-Mail Kennung \xfcbermittelt)"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"personenkontext.rolle"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"urn:schulconnex:de:personenkontext:rolle"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"personenkontext.organisation.kennung"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"urn:schulconnex:de:personenkontext:organisation:kennung"})})]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["Die gelieferten Werte zu den einzelnen Attributen entsprechen ",(0,s.jsx)(n.strong,{children:"immer"})," den Konventionen, die auch\nbei ",(0,s.jsx)(n.code,{children:"/person-info"})," genutzt werden und ",(0,s.jsx)(n.strong,{children:"nicht"})," den Werten, welche den Standard OIDC-Claims entsprechen."]}),"\n",(0,s.jsxs)(n.p,{children:["Wird kein Scope Request verwendet, so wird nur der Claim ",(0,s.jsx)(n.code,{children:"sub"})," (entspricht der\npseudonymisierten Personen-ID) geliefert."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n  "sub": "af3a88fc-d766-11ec-9d64-0242ac120002"\n}\n'})}),"\n",(0,s.jsxs)(n.p,{children:["\xdcber einen entsprechenden Scope Request (",(0,s.jsx)(n.code,{children:"scope=person-info"}),") k\xf6nnen auch Vorname,\nNachname, Rolle und Organisationskennung mitgeliefert werden."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n  "sub": "af3a88fc-d766-11ec-9d64-0242ac120002",\n  "family_name": "Muster",\n  "given_name": "Maximilian Klaus Dieter",\n  "urn:schulconnex:de:person:name:rufname": "Maximilian",\n  "email": "[email protected]",\n  "urn:schulconnex:de:personenkontext:rolle": "Lern",\n  "urn:schulconnex:de:personenkontext:organisation:kennung": "NI_12345"\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453(e,n,i){i.d(n,{R:()=>d,x:()=>c});var r=i(96540);const s={},t=r.createContext(s);function d(e){const n=r.useContext(t);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.