Zum Hauptinhalt springen

6. Unsecured JWTs (Ungesicherte JWTs)

Um Anwendungsfälle zu unterstützen, bei denen der JWT-Inhalt durch andere Mittel als eine im JWT enthaltene Signatur und/oder Verschlüsselung gesichert ist (wie z. B. eine Signatur auf einer Datenstruktur, die das JWT enthält), können (MAY) JWTs auch ohne Signatur oder Verschlüsselung erstellt werden. Ein ungesichertes JWT (Unsecured JWT) ist ein JWS, das den "alg" Header-Parameter-Wert "none" verwendet und die leere Zeichenkette als JWS-Signaturwert hat, wie in der JWA-Spezifikation [JWA] definiert; es ist ein ungesichertes JWS mit dem JWT Claims Set als JWS Payload.

6.1. Example Unsecured JWT (Beispiel für ungesichertes JWT)

Der folgende Beispiel-JOSE Header deklariert, dass das kodierte Objekt ein ungesichertes JWT ist:

{"alg":"none"}

Die Base64url-Kodierung der Bytes der UTF-8-Darstellung des JOSE Headers ergibt diesen kodierten JOSE Header-Wert:

eyJhbGciOiJub25lIn0

Das Folgende ist ein Beispiel für ein JWT Claims Set:

{"iss":"joe",
"exp":1300819380,
"http://example.com/is_root":true}

Die Base64url-Kodierung der Bytes der UTF-8-Darstellung des JWT Claims Set ergibt dieses kodierte JWS Payload (mit Zeilenumbrüchen nur für Anzeigezwecke):

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ

Die kodierte JWS Signature ist die leere Zeichenkette.

Die Verkettung dieser kodierten Teile in dieser Reihenfolge mit Punkt-Zeichen ('.') zwischen den Teilen ergibt dieses vollständige JWT (mit Zeilenumbrüchen nur für Anzeigezwecke):

eyJhbGciOiJub25lIn0
.
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.