💰 20% Provision sichern: Verdiene mit unserem Partnerprogramm bei jeder Empfehlung – Jetzt Affiliate werden
Menü

Login Registrieren
Matrix Background
Recht und Legalität

Jwt Base64 Erklaerung: Anwendung, typische Fehler, Praxiswissen und saubere Workflows

Base64 in JWT richtig einordnen: Transportformat statt Schutzmechanismus

Der häufigste Denkfehler bei JSON Web Tokens beginnt bei Base64. Viele sehen einen langen, kryptisch wirkenden String und setzen ihn automatisch mit Verschlüsselung gleich. Genau das ist falsch. In JWT wird nicht klassisches Base64, sondern in der Regel Base64url verwendet. Dieses Format dient dazu, Binär- oder Textdaten in eine URL- und Header-kompatible Zeichenfolge umzuwandeln. Es macht Daten transportierbar, aber nicht geheim.

Ein JWT besteht aus drei Teilen: Header, Payload und Signatur. Header und Payload sind JSON-Strukturen, die Base64url-kodiert werden. Die Signatur ist das Ergebnis eines kryptografischen Verfahrens über die kodierten Daten. Wer ein Token nur dekodiert, liest zunächst lediglich die Inhalte von Header und Payload. Ob diese Inhalte vertrauenswürdig sind, entscheidet erst die Signaturprüfung. Genau an dieser Stelle scheitern viele Implementierungen, Debugging-Prozesse und Sicherheitsbewertungen.

Praktisch bedeutet das: Sobald ein Token in Browser Storage, Logs, Proxies, API-Gateways oder Monitoring-Systemen auftaucht, können Header und Payload oft ohne Geheimwissen gelesen werden. Enthält die Payload sensible Daten wie interne Rollenbezeichnungen, E-Mail-Adressen, Tenant-IDs, Berechtigungsflags oder technische Metadaten, dann sind diese Informationen für jeden sichtbar, der das Token erhält. Das ist kein Angriff, sondern normales Verhalten des Formats.

Für das Verständnis des Gesamtaufbaus lohnt sich ein Blick auf Aufbau und Jwt Header Payload Signature. Dort wird klar, warum Base64url nur eine Darstellungsschicht ist und warum die eigentliche Vertrauensentscheidung immer an Verifikation und Validierung hängt.

Ein professioneller Workflow trennt deshalb strikt zwischen drei Fragen: Was steht im Token, ist die Darstellung technisch korrekt und ist der Inhalt kryptografisch vertrauenswürdig. Diese Trennung ist elementar, weil viele Fehler aus einer Vermischung dieser Ebenen entstehen.

  • Base64url macht Daten lesbar und transportierbar, aber nicht geheim.
  • Header und Payload können ohne Schlüssel dekodiert werden.
  • Vertrauen entsteht erst durch Signaturprüfung und vollständige Validierung.

Wer JWTs analysiert, sollte daher nie sagen: Das Token ist sicher, weil es nicht direkt lesbar aussieht. Die korrekte Aussage lautet: Das Token ist kodiert. Ob es sicher ist, hängt von Algorithmuswahl, Schlüsselmanagement, Signaturprüfung, Claim-Validierung, Ablaufsteuerung und Implementierungsdetails ab.

Base64url statt klassischem Base64: technische Unterschiede mit direkter Relevanz

JWT verwendet Base64url, nicht das klassische Base64 aus vielen Standardbibliotheken. Der Unterschied wirkt klein, ist aber in der Praxis relevant. Klassisches Base64 nutzt unter anderem die Zeichen +, / und oft Padding mit =. Base64url ersetzt + durch - und / durch _. Zusätzlich wird das Padding in JWT typischerweise weggelassen.

Diese Anpassung verhindert Probleme in URLs, HTTP-Headern, Cookies und Routing-Komponenten. Ein Token soll ohne zusätzliche Escaping-Logik transportiert werden können. Genau deshalb ist Base64url im JWT-Standard vorgesehen. Fehler entstehen, wenn Entwickler versehentlich Standard-Base64-Decoder verwenden, die Padding erzwingen oder URL-sichere Zeichen nicht korrekt behandeln.

Ein einfaches Beispiel:

Header JSON:
{"alg":"HS256","typ":"JWT"}

Payload JSON:
{"sub":"1234567890","name":"Max","admin":true}

JWT-Schema:
base64url(header) + "." + base64url(payload) + "." + signature

Wird ein Token manuell analysiert, müssen die ersten beiden Segmente als Base64url interpretiert werden. Manche Tools fügen fehlendes Padding automatisch hinzu, andere nicht. Das führt zu Verwirrung, wenn ein Token in einem Tool dekodierbar ist, in einem anderen aber Fehler wirft. Das Problem liegt dann oft nicht am Token selbst, sondern an der Decoder-Implementierung.

Ein weiterer Punkt: Base64url ist deterministisch. Derselbe Eingabewert erzeugt dieselbe kodierte Ausgabe. Das ist wichtig für die Signaturbildung. Schon minimale Unterschiede im serialisierten JSON, in Leerzeichen, Zeilenumbrüchen oder Zeichencodierungen verändern die Base64url-Ausgabe und damit die Signaturbasis. Wer Tokens manuell nachbaut oder in Tests manipuliert, muss exakt mit den kodierten Segmenten arbeiten, nicht mit einer frei neu formatierten JSON-Darstellung.

Für praktische Analysen sind Dekodieren, Lesen und Analysieren eng mit diesem Thema verbunden. Ohne sauberes Verständnis von Base64url werden Fehlinterpretationen fast zwangsläufig.

In Pentests zeigt sich dieser Fehler regelmäßig: Ein Tester dekodiert Header und Payload, ändert einen Claim, kodiert alles mit einem falschen Encoder zurück und wundert sich, warum die Signaturprüfung nicht reproduzierbar ist. Die Ursache ist dann nicht nur die ungültige Signatur, sondern oft bereits eine technisch abweichende Repräsentation der Daten.

Header und Payload dekodieren: lesen ist einfach, verstehen ist die eigentliche Arbeit

Das Dekodieren eines JWT ist trivial. Die fachlich relevante Arbeit beginnt erst danach. Ein dekodierter Header enthält typischerweise Angaben wie alg, typ und gelegentlich kid. Die Payload enthält Claims wie sub, iss, aud, exp, iat, nbf oder anwendungsspezifische Felder wie Rollen, Berechtigungen und Kontextinformationen.

Ein Beispiel für einen dekodierten Header:

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "prod-key-2025-01"
}

Ein Beispiel für eine dekodierte Payload:

{
  "sub": "user-1842",
  "iss": "https://auth.example.local",
  "aud": "billing-api",
  "role": "admin",
  "exp": 1760000000,
  "iat": 1759996400
}

Die reine Lesbarkeit verleitet oft zu falschen Schlüssen. Ein Claim wie role":"admin" bedeutet nicht, dass der Benutzer tatsächlich Administrator ist. Er bedeutet nur, dass dieser Wert im Token steht. Erst wenn die Signatur korrekt geprüft wurde, der Aussteller vertrauenswürdig ist, Audience und Issuer passen und das Token zeitlich gültig ist, darf dieser Claim in Autorisierungsentscheidungen einfließen.

Besonders kritisch wird es, wenn Teams Debugging und Sicherheitsbewertung vermischen. Ein Entwickler dekodiert ein Token, sieht plausible Werte und geht davon aus, dass das Token valide ist. Ein Pentester dekodiert dasselbe Token, erkennt interne Strukturen, testet Claim-Manipulationen und prüft, ob die Anwendung dekodierte Inhalte ungeprüft akzeptiert. Genau hier liegt der Unterschied zwischen Lesen und Verifizieren.

Für die technische Einordnung der Signatur lohnt sich Jwt Signatur Erklaerung. Für die vollständige Prüfung sind Verifikation und Validierung die entscheidenden nächsten Schritte.

In realen Umgebungen sollte jedes dekodierte Feld kritisch betrachtet werden. Ist der Claim standardisiert oder proprietär? Wird er serverseitig ausgewertet? Ist die Semantik eindeutig? Gibt es Mehrdeutigkeiten zwischen scope, roles, permissions und internen ACL-Modellen? Viele Sicherheitsprobleme entstehen nicht durch Base64 selbst, sondern durch unklare Claim-Semantik in Verbindung mit blindem Vertrauen in dekodierte Inhalte.

Warum Base64 keine Verschluesselung ist: reale Risiken bei sichtbaren Claims

Base64 schützt keine Vertraulichkeit. Dieser Satz klingt banal, wird aber in Projekten regelmäßig ignoriert. Sobald sensible Informationen in der Payload landen, sind sie für jeden sichtbar, der das Token besitzt oder abgreifen kann. Das betrifft nicht nur Angreifer, sondern auch interne Systeme, Browser-Erweiterungen, Reverse Proxies, Debug-Logs, Support-Dumps und Monitoring-Pipelines.

Typische problematische Inhalte in JWT-Payloads sind personenbezogene Daten, interne Benutzer-IDs mit Rückschluss auf Datenbankstrukturen, Rollenmodelle, Mandantenkennungen, E-Mail-Adressen, Telefonnummern, Session-Metadaten, Geräteinformationen und Sicherheitsflags. Solche Daten werden oft aus Bequemlichkeit eingebettet, obwohl sie für die Zielanwendung nicht zwingend im Token stehen müssten.

Ein klassischer Fehler in API-Architekturen: Das Token enthält mehr Informationen als für den konkreten Request erforderlich sind. Dadurch wächst nicht nur die Angriffsfläche, sondern auch die Wahrscheinlichkeit, dass Daten an Stellen sichtbar werden, an denen sie nicht hingehören. In Microservice-Landschaften vervielfacht sich dieses Problem, weil Tokens durch viele Komponenten wandern.

Aus Sicherheitssicht gilt deshalb ein einfaches Prinzip: Nur Claims aufnehmen, die wirklich benötigt werden, und keine vertraulichen Inhalte in ein signiertes, aber unverschlüsseltes JWT legen. Wenn Vertraulichkeit erforderlich ist, reicht JWS mit Base64url nicht aus. Dann muss über andere Mechanismen nachgedacht werden, etwa verschlüsselte Token-Varianten oder serverseitige Zustandsverwaltung.

  • Alles in Header und Payload ist grundsätzlich lesbar.
  • Sichtbarkeit bedeutet nicht automatisch Manipulierbarkeit, aber sehr wohl Informationsabfluss.
  • Je mehr Claims enthalten sind, desto größer werden Datenschutz-, Debugging- und Angriffsrisiken.

Gerade im Vergleich zu klassischen Sessions wird dieser Punkt oft unterschätzt. Ein Blick auf Jwt Session Vs Jwt zeigt, warum zustandslose Tokens zwar skalierbar sind, aber andere Sicherheits- und Datenschutzentscheidungen erzwingen. Wer JWTs einsetzt, muss bewusst entscheiden, welche Informationen clientseitig sichtbar sein dürfen.

In Audits ist die Frage daher nie nur: Ist das Token korrekt signiert? Die wichtigere Zusatzfrage lautet: Welche Informationen werden allein durch das Dekodieren offengelegt, und ist diese Offenlegung fachlich und regulatorisch akzeptabel?

Signaturbasis verstehen: wie Base64url direkt in die kryptografische Pruefung eingeht

Die Signatur eines JWT wird nicht über das dekodierte JSON gebildet, sondern über die Zeichenfolge base64url(header) + "." + base64url(payload). Dieser Punkt ist entscheidend. Wer Header oder Payload dekodiert, verändert, neu serialisiert und wieder kodiert, erzeugt in vielen Fällen eine andere Signaturbasis. Schon eine andere Reihenfolge von JSON-Feldern, zusätzliche Leerzeichen oder eine abweichende Unicode-Behandlung können das Ergebnis verändern.

Bei HS256 wird über diese Signaturbasis ein HMAC mit einem gemeinsamen Secret berechnet. Bei RS256 oder ES256 wird dieselbe Basis mit einem privaten Schlüssel signiert. Die Verifikation erfolgt dann mit Secret oder öffentlichem Schlüssel, abhängig vom Verfahren. Das Base64url-Format ist also nicht nur Verpackung, sondern Teil der exakt definierten Eingabe für die kryptografische Operation.

Ein schematisches Beispiel:

signing_input =
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" + "." +
  "eyJzdWIiOiIxMjM0NTY3ODkwIiwicm9sZSI6InVzZXIifQ"

signature = HMAC_SHA256(secret, signing_input)

Wird die Payload dekodiert, von {"sub":"1234567890","role":"user"} zu {"role":"user","sub":"1234567890"} umsortiert und neu kodiert, ist die semantische Bedeutung zwar gleich, die Byte-Repräsentation aber anders. Die Signatur passt dann nicht mehr. Genau deshalb sind manuelle Reproduktionen ohne präzise Serialisierung fehleranfällig.

Für das Verständnis der Verfahren sind Jwt Algorithmen Hs256 Rs256 und Jwt Symmetrisch Vs Asymmetrisch relevant. Dort wird klar, warum Base64url zwar algorithmusunabhängig ist, aber die Signaturprüfung in jedem Fall auf exakt derselben kodierten Eingabe basiert.

In Pentests ist das wichtig, wenn manipulierte Tokens gebaut werden. Wer nur Claims ändert und anschließend irgendeine Bibliothek zum Re-Encoding nutzt, testet oft nicht die Zielanwendung, sondern produziert lokal ein technisch anderes Artefakt. Ein sauberer Test dokumentiert deshalb immer, welche Originalsegmente verwendet wurden, welche Felder geändert wurden, wie neu kodiert wurde und ob die Anwendung dekodierte Inhalte vor oder nach der Signaturprüfung verarbeitet.

Typische Implementierungsfehler rund um Base64, Decoder und Claim-Verarbeitung

Die gefährlichsten Fehler entstehen selten im Standardfall, sondern an den Rändern: bei fehlerhafter Normalisierung, toleranten Parsern, uneinheitlicher Bibliotheksnutzung und falscher Reihenfolge von Prüfungen. Ein JWT wird dekodiert, Claims werden gelesen, und erst danach wird die Signatur geprüft. Genau das ist ein Designfehler, wenn dekodierte Inhalte bereits Logik beeinflussen.

Ein häufiger Bug ist die Akzeptanz unvollständiger oder ungewöhnlich formatierter Tokens. Manche Parser tolerieren zusätzliche Punkte, leere Segmente, nicht standardkonformes Padding oder unerwartete Zeichen. Solche Toleranz kann in Kombination mit Reverse Proxies, WAFs oder Middleware-Ketten zu Inkonsistenzen führen: Eine Komponente interpretiert das Token anders als die nächste.

Ebenso problematisch ist eine inkonsistente Behandlung von Base64url in verschiedenen Sprachen. Ein Service in Node.js dekodiert tolerant, ein nachgelagerter Python-Service strikt, ein PHP-Gateway ersetzt fehlendes Padding automatisch. Wenn Autorisierung über mehrere Services verteilt ist, können daraus schwer reproduzierbare Fehler oder Sicherheitslücken entstehen.

Besonders kritisch sind folgende Muster:

  • Claims werden vor der Signaturprüfung für Routing, Logging oder Autorisierung verwendet.
  • Decoder akzeptieren nicht standardkonforme Eingaben, die andere Komponenten anders interpretieren.
  • Fehlermeldungen unterscheiden zu genau zwischen Dekodierungsfehler, Signaturfehler und Claim-Fehler und liefern Angreifern verwertbare Hinweise.

Auch die Verarbeitung numerischer Claims ist fehleranfällig. Zeitwerte wie exp, iat und nbf sind Unix-Timestamps. Werden sie als Strings statt Zahlen behandelt, lokalisiert formatiert oder mit falscher Zeitzone interpretiert, entstehen Validierungsfehler, die fälschlich Base64 zugeschrieben werden. Tatsächlich liegt das Problem dann in der Claim-Verarbeitung nach erfolgreicher Dekodierung.

Wer solche Probleme systematisch untersucht, sollte sich zusätzlich mit Jwt Fehler Und Probleme, Debugging und Pruefen beschäftigen. Dort wird deutlich, dass viele vermeintliche Base64-Probleme in Wahrheit Validierungs- oder Architekturprobleme sind.

Praxisworkflow fuer Analyse und Pentest: von der Dekodierung zur belastbaren Aussage

Ein sauberer Analyseworkflow beginnt nicht mit Manipulation, sondern mit Strukturprüfung. Zuerst wird festgestellt, ob das Artefakt überhaupt ein plausibles JWT ist: drei Segmente, sinnvolle Base64url-Zeichen, dekodierbarer Header, dekodierbare Payload. Danach folgt die inhaltliche Analyse der Claims. Erst dann wird geprüft, ob und wie die Anwendung das Token verifiziert.

In einem professionellen Pentest reicht es nicht, ein Token in einen Decoder zu werfen und sichtbare Claims zu notieren. Entscheidend ist die Frage, welche Sicherheitsannahmen die Anwendung an dieses Token knüpft. Wird nur die Existenz eines Tokens geprüft? Wird der Header-Algorithmus blind akzeptiert? Wird kid unsicher verarbeitet? Werden Claims ohne Signaturprüfung ausgewertet? Werden Audience und Issuer ignoriert?

Ein robuster Workflow sieht typischerweise so aus:

1. Token erfassen und Original unverändert sichern
2. Header und Payload base64url-dekodieren
3. Claims und Header-Felder dokumentieren
4. Verifikationsverhalten der Anwendung beobachten
5. Manipulationen gezielt und reproduzierbar testen
6. Unterschiede zwischen Dekodierung, Verifikation und Autorisierung auswerten

Bei Manipulationstests ist Disziplin entscheidend. Wird ein Claim geändert, muss dokumentiert werden, ob die Anwendung das manipulierte Token ablehnt, ob sie nur die Signatur beanstandet oder ob sie dekodierte Inhalte trotzdem teilweise verarbeitet. Genau diese Beobachtung trennt kosmetische Fehler von echten Sicherheitslücken.

Für praktische Tests sind Jwt Token Test, Manipulation und Jwt Pentesting Jwt naheliegende Vertiefungen. Sie helfen dabei, Base64-Dekodierung nicht mit echter Sicherheitsprüfung zu verwechseln.

Ein weiterer Praxispunkt: Tokens immer im Originalzustand archivieren. Viele Fehleranalysen scheitern daran, dass ein Token bereits durch Copy-Paste, URL-Decoding, Proxy-Rewriting oder Tool-Normalisierung verändert wurde. Ohne Originalartefakt ist später oft nicht mehr nachvollziehbar, ob ein Problem in der Anwendung oder im Analyseprozess lag.

Base64 im Kontext realer Angriffe: was sichtbar ist, was manipulierbar ist und was oft verwechselt wird

Base64 selbst ist kein Angriffspunkt im kryptografischen Sinn. Es ist ein Darstellungsformat. Trotzdem spielt es in realen Angriffen eine wichtige Rolle, weil es Angreifern erlaubt, Token-Inhalte schnell zu lesen, Strukturen zu verstehen und gezielte Manipulationen vorzubereiten. Sichtbarkeit schafft Kontext. Kontext ermöglicht präzisere Tests.

Ein Angreifer dekodiert ein Token und erkennt etwa alg":"RS256", einen kid-Header, interne Rollenbezeichnungen und eine Audience für einen bestimmten Service. Diese Informationen reichen oft aus, um gezielt nach Implementierungsfehlern zu suchen: Key-Confusion, unsichere Key-Auswahl, fehlende Audience-Prüfung oder Akzeptanz manipulierte Claims bei unvollständiger Verifikation.

Wichtig ist die saubere Trennung: Dass ein Claim sichtbar ist, bedeutet nicht, dass er ohne Weiteres wirksam verändert werden kann. Wirksam wird eine Manipulation nur dann, wenn die Anwendung Signatur oder Validierung fehlerhaft umsetzt. Genau deshalb sind Themen wie Jwt None Algorithmus Angriff, Jwt Key Confusion Angriff und Jwt Signature Bypass so relevant. Sie zeigen, wie aus sichtbaren Tokenstrukturen echte Angriffswege werden.

Ein typisches Missverständnis in Incident-Analysen lautet: Das Token wurde dekodiert, also wurde es gehackt. Tatsächlich ist Dekodierung nur Lesen. Der eigentliche Angriff beginnt dort, wo eine Anwendung manipulierte oder unzureichend validierte Inhalte akzeptiert. In Berichten sollte deshalb präzise zwischen Informationsgewinnung, Manipulationsversuch und erfolgreicher Ausnutzung unterschieden werden.

Auch Logging spielt hier hinein. Wenn dekodierte Claims in Logs landen, können Angreifer oder interne Akteure zusätzliche Informationen sammeln, ohne das Token selbst erneut zu benötigen. Base64 ist also nicht die Schwachstelle, aber oft der Grund, warum Informationen so leicht operationalisiert werden können.

Saubere Workflows in Entwicklung und Betrieb: Debugging, Validierung und minimale Offenlegung

In der Entwicklung ist das schnelle Dekodieren eines JWT nützlich. Im Betrieb muss derselbe Vorgang kontrolliert und bewusst erfolgen. Debugging-Tools, Browser-Plugins und Online-Decoder sind praktisch, aber nicht immer für produktive Tokens geeignet. Sobald echte Zugangstokens in fremde Tools kopiert werden, entsteht ein zusätzliches Risiko. Das gilt besonders für Tokens mit produktiven Claims, langen Laufzeiten oder weitreichenden Berechtigungen.

Ein sicherer Workflow trennt lokale Analyse, automatisierte Verifikation und produktive Fehlerdiagnose. Für lokale Tests können isolierte Umgebungen und Testtokens verwendet werden. In produktiven Pipelines sollten Tokens möglichst maskiert, gehasht oder nur in minimaler Form protokolliert werden. Wenn Claims für Supportzwecke sichtbar sein müssen, dann nur gezielt und mit klaren Zugriffsrechten.

Auch die Reihenfolge der Prüfungen ist entscheidend. Zuerst technische Struktur, dann Signatur, dann Claims, dann Autorisierung. Nicht umgekehrt. Eine Anwendung, die aus einem dekodierten, aber noch nicht verifizierten Token bereits Benutzerkontext ableitet, lädt Fehler geradezu ein. Das gilt für API-Gateways ebenso wie für Backend-Services und Frontend-nahe Middleware.

Für robuste Umsetzungen sind Jwt Best Practices, Jwt Security und Jwt Implementierung sinnvoll. Dort stehen die Architekturentscheidungen im Vordergrund, die verhindern, dass Base64-Dekodierung mit Vertrauensbildung verwechselt wird.

Ein weiterer Betriebsaspekt ist Token-Lebensdauer. Je länger ein Token gültig ist, desto länger bleiben sichtbare Claims verwertbar und desto größer ist der Schaden bei Abfluss. Deshalb hängen Base64-Sichtbarkeit, Ablaufsteuerung und Revocation enger zusammen, als es auf den ersten Blick scheint. Ein lesbares Token mit kurzer Laufzeit ist oft deutlich weniger problematisch als ein informationsreiches Token mit langer Gültigkeit.

Saubere Workflows bedeuten daher nicht nur korrekte Decoder, sondern auch minimale Claims, kurze Laufzeiten, konsequente Verifikation, kontrolliertes Logging und klare Trennung zwischen Analysewerkzeugen und produktiven Geheimnissen.

Merksaetze fuer die Praxis: Base64 verstehen, JWT korrekt bewerten und Fehler vermeiden

Wer JWTs professionell bewertet, sollte Base64 nicht isoliert betrachten. Es ist weder Sicherheitsfeature noch Schwachstelle, sondern ein technischer Baustein im Format. Probleme entstehen erst durch falsche Annahmen, unsaubere Implementierungen und fehlende Trennung zwischen Lesbarkeit und Vertrauenswürdigkeit.

Die wichtigsten Merksätze sind einfach, aber in der Praxis entscheidend. Ein dekodiertes Token ist noch kein valides Token. Ein plausibler Claim ist noch kein vertrauenswürdiger Claim. Ein erfolgreiches Parsing ist noch keine erfolgreiche Verifikation. Und ein signiertes Token ist noch nicht automatisch fachlich zulässig, wenn Issuer, Audience, Zeitfenster oder Berechtigungsmodell nicht sauber geprüft werden.

Gerade bei Schulungen, Code Reviews und Pentests lohnt es sich, diese Denkweise konsequent zu verankern. Dann wird Base64 nicht überschätzt, aber auch nicht unterschätzt. Es erklärt, warum JWTs so leicht lesbar sind, warum Informationen schnell analysiert werden können und warum Signatur- und Claim-Prüfung unverzichtbar bleiben.

Für weiterführende Praxis sind Funktionsweise, Jwt Json Struktur und Beispiel sinnvolle Ergänzungen. Sie vertiefen das Verständnis dafür, wie Format, Inhalt und Sicherheitslogik zusammenspielen.

Am Ende bleibt eine klare Regel: Alles, was nur base64url-kodiert ist, muss als lesbar betrachtet werden. Alles, was sicherheitsrelevant ist, muss verifiziert und validiert werden. Alles, was nicht zwingend im Token stehen muss, gehört im Zweifel nicht hinein.

Weiter Vertiefungen und Link-Sammlungen