JWT-Authentifizierung
JSON Web Token (JWT) ist ein kompaktes Darstellungsformat für Ansprüche, das für Umgebungen mit eingeschränkten Speicherbereichen wie HTTP -Berechtigungsheader und URI-Abfrageparameter vorgesehen ist. Ein Anspruch wird als Name/Wert-Paar dargestellt, das einen Anspruchsnamen und einen Anspruchswert enthält.
Die Ansprüche in einem JWT werden als JSON-Objekt codiert, das als Nutzdaten einer JWS-Struktur (JSON Web Signature) oder als unverschlüsselter Text einer JWE-Struktur (JSON Web Encryption) verwendet wird. JWT-Claims können digital signiert werden oder die Integrität kann mit einem Message Authentication Code (MAC) geschützt und auch verschlüsselt werden.
Ein JWT wird als Folge von URL-sicheren Teilen dargestellt, die durch Punkte ('.') getrennt sind. Jeder Abschnitt enthält einen base64url-encoded Wert. Die Anzahl der Teile im JWT hängt von der Darstellung des resultierenden JWS unter Verwendung der JWS Compact Serialization bzw. des resultierenden JWE unter Verwendung der JWE Compact Serialization ab.
Das Format eines typischen JWS ist < Base 64 URL encoded Header json >. < Base 64 URL encoded Payload json >. < Base 64 URL encoded signature >
Die Signatur wird durch Signieren des Inhalts des mit Base 64 URL codierten Headers und der Nutzdaten mit einem Verschlüsselungsschlüssel abgerufen.
Beispiel für JWS:
Header
{
"alg": "RS256",
"typ": "JWT",
"kid": "k12345"
}
Payload
{
"exp": <expiration date>,
"iss": "<name of the token issuer>"
}
jwt.verify.max.future.validity.hoursangegeben haben. Weitere Informationen finden Sie unter Für die JWT-Authentifizierung erforderliche Eigenschaften.eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImExIn0
.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMiwiZXhwIjoxNTMxNzYyMDY1fQ
.z4qfO0leZK2mYp_w-jFNidTx-Ri0PRMHLsOAG1Den7ZR4QntIJhU17U0afgoe5VzISXS6jW61ga3XEk39ey1G7a_-ARIVZLYN11fHDhsPuzN7PPkbT
5uWpHEUhVWRR8dxHqXmNiDaWjNhTnzHCBpfrRHj5pR_dzubbuE_uPuvDk- Header = eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImExIn0
- Nutzlast = G4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMiwiZXhwIjoxNTMxNzYyMDY1fQ
- Unterschrift= z4qfO0leZK2mYp_w-jFNidTx-Ri0PRMHLsOAG1Den7ZR4QntIJhU17U0afgoe5VzISXS6jW61ga3XEk39ey1G7a_-ARIVZLYN11fHDhsPuzN7PPkbT5uWpHEUhVWRR8dxHqXmNiDaWjNhTnzHCBpfrRHj5pR_dzubbuE_uPuvDk