Zurück zur Übersicht

Begriff

JWT (JSON Web Token)

Security Web Development S3
2 Quellen 1 Lernpfad 2 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Früher (Session): Du gehst in den Club. Der Türsteher stempelt deine Hand. Die Barfrau guckt auf deine Hand ("Stempel da? Okay, Bier."). Alles passiert im Club. Heute (JWT): Du gehst zum Amt und kriegst einen Ausweis. Den Ausweis kannst du überall zeigen (Kino, Bank, Ausland). Der Ausweis enthält Infos ("Ist über 18"). Jeder, der dem Amt vertraut (Signatur prüfen), weiß, dass der Ausweis echt ist, ohne beim Amt anzurufen. JWT ist dieser Ausweis für Webseiten. Du loggst dich ein, kriegst ein JWT ("Token"). Das schickst du bei jedem Klick mit. Der Server weiß sofort, wer du bist, ohne in der Datenbank nachzusehen.

Merksatz: Ein offener Standard (RFC 7519) zum sicheren Übertragen von Informationen zwischen Parteien als JSON-Objekt, das digital signiert ist.


Quick-Check

  1. Sind die Daten verschlüsselt?
    Nein! Nur Base64-kodiert. Jeder kann es lesen (jwt.io). Speichere also NIEMALS Passwörter im Token. Die Signatur schützt nur vor Veränderung, nicht vor Mitlesen. (JWE = Encrypted JWT wäre die Lösung für Verschlüsselung).
  2. Wo speichern?
    LocalStorage (einfach, aber anfällig für XSS-Klau). HttpOnly Cookie (sicherer gegen XSS, aber anfällig für CSRF). Security ist schwer.
  3. Algorithmus None?
    Eine berühmte Lücke. Hacker änderten den Header auf alg: "none". Dumme Server dachten: "Okay, keine Signatur nötig" und ließen den Hacker als Admin rein. Ist heute gefixt.