JWT-Entwicklerreferenz

JWT Claims Referenz

Beim Debugging lese ich Claims im Kontext: Wer hat ausgestellt, für wen gilt der Token, wann ist er gültig und welche Autorisierungsdaten versteht die Anwendung?

48 / 48

Registrierte JWT Claims

iss

Issuer

stringRFC 7519 §4.1.1

Identifiziert die Stelle, die das JWT ausgestellt hat.

Validierung: Exakt mit einem bereits vertrauenswürdigen Issuer der Anwendung vergleichen.

sub

Subject

stringRFC 7519 §4.1.2

Identifiziert das Subject innerhalb des Namespace des Issuers.

Validierung: Erst nach Issuer-Validierung und nur in dessen Namespace interpretieren.

aud

Audience

string | string[]RFC 7519 §4.1.3

Identifiziert die vorgesehenen Empfänger des JWT.

Validierung: Die vom Resource Server erwartete Audience muss enthalten sein.

exp

Ablaufzeit

NumericDateRFC 7519 §4.1.4

Zeitpunkt, nach dem das JWT nicht mehr akzeptiert werden darf.

Validierung: Nach exp ablehnen; nur eine kleine konfigurierte Clock Tolerance zulassen.

nbf

Nicht vor

NumericDateRFC 7519 §4.1.5

Zeitpunkt, vor dem das JWT nicht akzeptiert werden darf.

Validierung: Vor nbf ablehnen, außer innerhalb der ausdrücklich konfigurierten Clock Tolerance.

iat

Ausgestellt am

NumericDateRFC 7519 §4.1.6

Zeitpunkt, zu dem das JWT ausgestellt wurde.

Validierung: Für Age/Lifetime-Policy verwenden und unplausible Zukunftswerte ablehnen.

jti

JWT ID

stringRFC 7519 §4.1.7

Eindeutiger Bezeichner für das JWT.

Validierung: Nur mit serverseitigem Zustand kombinieren, wenn Replay-Schutz oder Revocation dies benötigt.

OpenID Connect Identität / ID Token

azp

Autorisierte Partei

stringOIDC Core §2

Identifiziert die Partei, für die das ID Token ausgestellt wurde.

Validierung: Bei mehreren Audiences oder entsprechender Client-Policy prüfen.

nonce

Nonce

stringOIDC Core §2

Bindet ein ID Token an die zugehörige Browser/Client-Anfrage.

Validierung: Exakt mit dem für den Authorization Request gespeicherten Nonce vergleichen.

auth_time

Authentifizierungszeit

NumericDateOIDC Core §2

Zeitpunkt der Endnutzer-Authentifizierung.

Validierung: Nutzen, wenn max_age oder Reauthentication vom Alter der Anmeldung abhängt.

acr

Authentication Context Class

stringOIDC Core §2

Erreichte Authentication Context Class.

Validierung: Nur Assurance Levels akzeptieren, die die Anwendung ausdrücklich versteht.

amr

Authentifizierungsmethoden

string[]OIDC Core §2

Tatsächlich verwendete Authentifizierungsmethoden.

Validierung: Aus unbekannten Werten kein Assurance Level ableiten; Issuer-Semantik beachten.

at_hash

Access-Token-Hash

stringOIDC Core §3.1.3.6

Hash-abgeleiteter Wert zur Bindung eines Access Tokens an ein ID Token.

Validierung: Validieren, wenn OIDC Flow/Response Type es erfordert.

c_hash

Authorization-Code-Hash

stringOIDC Core §3.3.2.11

Hash-abgeleiteter Wert zur Bindung eines Authorization Codes an ein ID Token.

Validierung: Validieren, wenn der OIDC Response Type es erfordert.

s_hash

State-Hash

stringOIDC FAPI / registered claim

Bindet in bestimmten OIDC/FAPI-Profilen state an eine signierte Antwort.

Validierung: Nur validieren, wenn das aktive OIDC/FAPI-Profil es verlangt.

sid

Session-ID

stringOpenID Connect Session Management

Identifiziert eine Session beim OpenID Provider.

Validierung: Als issuer-gebundene Session-Metadaten behandeln, nicht als globale User-ID.

name

Vollständiger Name

stringOIDC Core §5.1

Vollständiger Anzeigename des Endnutzers.

Validierung: Profilwert; nicht als stabile Autorisierungs-ID verwenden.

given_name

Vorname

stringOIDC Core §5.1

Vorname des Endnutzers.

Validierung: Nur für Darstellung verwenden und Lokalisierung berücksichtigen.

family_name

Nachname

stringOIDC Core §5.1

Nachname des Endnutzers.

Validierung: Keine Eindeutigkeit annehmen.

middle_name

Zweiter Vorname

stringOIDC Core §5.1

Zweiter Vorname des Endnutzers.

Validierung: Als optionalen Profilwert behandeln.

nickname

Spitzname

stringOIDC Core §5.1

Spitzname des Endnutzers.

Validierung: Nur für Darstellung verwenden.

preferred_username

Bevorzugter Benutzername

stringOIDC Core §5.1

Bevorzugter kurzer Benutzername.

Validierung: Keine globale Eindeutigkeit oder Unveränderlichkeit annehmen.

profile

Profil-URL

URL stringOIDC Core §5.1

URL der Profilseite.

Validierung: URL-Behandlung vor dem Rendern eines Links validieren.

picture

Bild-URL

URL stringOIDC Core §5.1

URL des Profilbilds.

Validierung: Beim Rendern als nicht vertrauenswürdigen Remote-Inhalt behandeln.

website

Website-URL

URL stringOIDC Core §5.1

URL der Website des Endnutzers.

Validierung: Als nicht vertrauenswürdige Profildaten behandeln.

email

E-Mail

stringOIDC Core §5.1

Bevorzugte E-Mail-Adresse.

Validierung: Nur als verifiziert behandeln, wenn email_verified=true und der Issuer vertrauenswürdig ist.

email_verified

E-Mail verifiziert

booleanOIDC Core §5.1

Zeigt an, ob der Issuer die Kontrolle über die E-Mail geprüft hat.

Validierung: Nur mit vertrauenswürdigem Issuer und bekannter Prüfmethodik verwenden.

gender

Geschlecht

stringOIDC Core §5.1

Vom Issuer bereitgestellte Geschlechtsangabe.

Validierung: Datensparsamkeit beachten, wenn der Wert nicht benötigt wird.

birthdate

Geburtsdatum

stringOIDC Core §5.1

Geburtsdatum des Endnutzers.

Validierung: Sensibler Profilwert; nicht als Authentifizierungsfaktor verwenden.

zoneinfo

Zeitzone

stringOIDC Core §5.1

Zeitzonenkennung des Endnutzers.

Validierung: Nur für Darstellung/Präferenzen verwenden.

locale

Locale

BCP 47 stringOIDC Core §5.1

Locale-Präferenz des Endnutzers.

Validierung: Für Darstellung nutzen, nicht für Trust Decisions.

phone_number

Telefonnummer

stringOIDC Core §5.1

Bevorzugte Telefonnummer.

Validierung: Nur als verifiziert behandeln, wenn phone_number_verified=true und der Issuer vertrauenswürdig ist.

phone_number_verified

Telefon verifiziert

booleanOIDC Core §5.1

Zeigt an, ob der Issuer die Kontrolle über die Nummer geprüft hat.

Validierung: Nach Issuer-Policy und verwendeter Prüfmethodik interpretieren.

address

Postadresse

objectOIDC Core §5.1

Strukturiertes Objekt für die Postadresse.

Validierung: Verschachtelte Felder vor Darstellung prüfen und als sensible Daten behandeln.

updated_at

Profil aktualisiert

NumericDateOIDC Core §5.1

Zeitpunkt der letzten Profilaktualisierung.

Validierung: Nur als Metadatum zur Profilaktualität verwenden.

OAuth Access Token / Autorisierung

client_id

Client-ID

stringRFC 9068 §2.2

Identifiziert den OAuth Client des Access Tokens.

Validierung: Nur vergleichen, wenn die Resource-Server-Policy einen bestimmten Client verlangt.

scope

OAuth Scopes

space-delimited stringRFC 9068 §2.2.3 / RFC 8693

Delegierte Berechtigungen des Access Tokens.

Validierung: Nur Scopes autorisieren, die die Ressource versteht und die zur Audience passen.

roles

Rollen

string[]RFC 9068 §2.2.3.1 / RFC 7643

Rollenwerte für Autorisierungsentscheidungen.

Validierung: Issuer/Resource-Semantik definieren und unbekannte Rollen standardmäßig ablehnen.

groups

Gruppen

string[]RFC 9068 §2.2.3.1 / RFC 7643

Gruppenmitgliedschaften für Autorisierungsentscheidungen.

Validierung: Keine gemeinsame Benennung oder Hierarchie über verschiedene Issuer annehmen.

entitlements

Berechtigungen

string[]RFC 9068 §2.2.3.1 / RFC 7643

Entitlements für Rechte oder Berechtigungen.

Validierung: Jedes Entitlement explizit auf erlaubte Aktionen abbilden.

cnf

Bestätigung

objectRFC 7800

Bestätigungsinformationen für einen Proof-of-Possession-Schlüssel.

Validierung: Die vom Token/Profil geforderte Confirmation-Methode tatsächlich validieren.

act

Akteur

objectRFC 8693 §4.1

Identifiziert den handelnden Akteur bei Delegation oder Impersonation.

Validierung: Actor und Subject in Autorisierung und Audit getrennt behandeln.

may_act

Darf handeln

objectRFC 8693 §4.4

Identifiziert Parteien, die für das Subject handeln dürfen.

Validierung: Nur in Token-Exchange-Designs mit expliziter Delegation-Policy verwenden.

Private / Anbieter-Claims

permissions

Permissions

string[]Private claim

Private Liste erlaubter Anwendungsaktionen.

Validierung: Issuer, Audience und Permission-Semantik dieser privaten Claims klar definieren.

role

Rolle

string | string[]Private claim

Private Konvention für eine oder mehrere Rollen.

Validierung: Nicht automatisch mit roles gleichsetzen; pro Issuer abbilden.

tenant

Tenant

stringPrivate claim

Private Konvention für Tenant- oder Organisationsrouting.

Validierung: Tenant allein begründet kein Issuer-Vertrauen; mit authentifiziertem Kontext abgleichen.

org_id

Organisations-ID

stringPrivate claim

Gängige Organisationskennung in SaaS-Autorisierungsmodellen.

Validierung: Als issuer-spezifischen Wert behandeln und Resource Membership separat erzwingen.

token_use

Token-Verwendung

stringVendor/private claim

Anbieter-Konvention zur Unterscheidung von Access- und Identity-Token.

Validierung: Nur nach offizieller Issuer-Dokumentation verwenden; Standard-typ/profile bevorzugen.