Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Dies ist ein von KI übersetzter Beitrag.

Seize the day

Was ist ein JWT (JSON Web Token)?

  • Schreibsprache: Koreanisch
  • Referenzland: Alle Länder country-flag

Sprache auswählen

  • Deutsch
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Von durumis AI zusammengefasster Text

  • Ein JSON Web Token (JWT) ist ein verschlüsseltes Token, das zur sicheren Übertragung von Informationen verwendet wird.
  • Ein JWT besteht aus einem Header, einer Nutzlast und einer Signatur. Die Signatur stellt die Integrität der Daten sicher.
  • JWTs müssen keine Statusinformationen separat verwalten, wodurch sie in verteilten Umgebungen skalierbar sind.

Was ist ein JWT?

Ein JSON Web Token (JWT) ist eine Art der sicheren Übertragung von Informationen in einem JSON-Objekt und ein offener Standard (RFC 7519). Wie der Name schon sagt, werden die notwendigen Informationen in einem Token gespeichert und verschlüsselt verwendet.


JWT wird als signiertes Token (signed token) hervorgehoben. Bei Verwendung eines öffentlichen/privaten Schlüsselpaars zur Signierung garantiert diese Signatur, dass nur die Partei, die den privaten Schlüssel besitzt, das Token signiert hat. Das heißt, der Server, der den Schlüssel besitzt, kann feststellen, ob das Token korrekt ist.


JWT-Struktur

JWT besteht aus Header, Payload und Signatur.

Jeder Teil wird mit Base64 kodiert und durch einen Punkt (.) getrennt.

Header

{
    "alg": "HS256",
    "typ": "JWT"

Der Header enthält zwei wichtige Informationen: den Typ des Tokens (typ) und den verwendeten Signaturalgorithmus (alg). Der Signaturalgorithmus wird zum Generieren und Überprüfen der Signatur verwendet.

typ ist auf "JWT" festgelegt, und alg ist HMAC, SHA256 usw. geschrieben. Wie im obigen Beispiel bedeutet dies, dass der private Schlüssel den HS256-Algorithmus verwendet.

Payload

{
    "sub": "1234567890",
    "name": "John Doe",
    "iat": 1516239022


Die Nutzlast enthält die Claims, die an das Token übergeben werden sollen. Benutzeridentifizierungsinformationen oder Eigenschaften des Tokens werden in Form von Schlüssel-Wert-Paaren gespeichert. Das heißt, der Entwickler kann sie nach Belieben einfügen!

Nach der Standardspezifikation wird der Name des Schlüssels kompakt auf drei Buchstaben verkürzt.

Die registrierten Claims sind wie folgt:

  • iss (Issuer): Aussteller des Tokens (enthält eindeutige Identifizierungsinformationen des Ausstellers des Tokens)
  • sub (Subject): Das Subjekt, für das das Token bestimmt ist
  • aud (Audience): Der Empfänger des Tokens
  • exp (Expiration Time): Ablaufdatum des Tokens (nach diesem Datum ist es nicht mehr gültig)
  • nbf (Not Before): Aktivierungsdatum des Tokens (das Token kann vor diesem Datum nicht verwendet werden)
  • iat (Issued At): Ausstellungsdatum des Tokens
  • jti (JWT Id): JWT-Token-Kennung (Wert zur Unterscheidung, wenn mehrere Aussteller vorhanden sind)


Wenn weitere Werte benötigt werden, können diese hinzugefügt werden.

Die Nutzlast ist jedoch kein verschlüsselter, signierter Wert, daher werden keine sensiblen Informationen darin gespeichert.

Es kann von jedem decodiert und eingesehen werden.jwt.io Sie können es auch direkt auf der Website überprüfen.

Signatur

HMACSHA256(
    base64UrlEncode(header) + "." +
    base64UrlEncode(payload),
    your-256-bit-secret

Der Header und die Nutzlast werden mit Base64 kodiert und mit einem Punkt (.) verbunden, und der Server signiert sie dann mit dem privaten Schlüssel your-256-bit-secret.

Daher kann nur der Server, der das Token ausgestellt hat, die Signatur mit dem privaten Schlüssel entschlüsseln.

Wenn Sie an die Entschlüsselung denken, können Sie dies tun, indem Sie die Signatur mit dem privaten Schlüssel entschlüsseln und dann überprüfen, ob base64UrlEncode(header) mit dem Header-Wert des JWT übereinstimmt und ob base64UrlEncode(payload) übereinstimmt.

Mit Ausnahme der Signatur können die Informationen im Header und in der Nutzlast durch die Kodierung eingesehen werden. Die Signatur sorgt jedoch für die Integrität und Sicherheit der Informationen.



JWT ist Self-contained und enthält alle notwendigen Informationen. Es wurde entwickelt, um die Nachteile von Stateful-Sitzungen zu überwinden. JWT benötigt keinen separaten Speicher.

Der Server muss keine Sitzungen verwalten, wodurch stateless ist und die Skalierbarkeit in verteilten Systemen oder Microservice-Architekturen erhöht wird.

Es ist durch eine Signatur, eine digitale Signatur, geschützt und gewährleistet die Integrität der Daten.

nofunfromdev
Seize the day
Seize the day
nofunfromdev
Verwenden Sie ein kostenloses Finanzzertifikat anstelle eines kostenpflichtigen gemeinsamen Zertifikats! Wir stellen Ihnen ein Finanzzertifikat vor, das kostenlos ausgestellt werden kann, anstatt eines gemeinsamen Zertifikats. Es ist bequem zu erhalten und kann 3 Jahre lang verwendet werden, nachdem es in 3 Minuten ausgestellt wurde. Sie können es auf der We
길리
길리
길리
길리
길리

17. April 2024

Ist Worldcoin-Iris-Scan sicher? Worldcoin vergibt Coins anhand der Iris-Erkennung, jedoch werden mehrere Probleme wie die Kontroverse um den Handel mit persönlichen Daten, die undurchsichtige Nutzung von Informationen und das Risiko der Verlagerung von Servern ins Ausland aufgeworfen. E
세상 모든 정보
세상 모든 정보
세상 모든 정보
세상 모든 정보

31. März 2024

[Effektives Java] Item 1. Statische Fabrikmethoden in Betracht ziehen Statische Fabrikmethoden sind eine flexible und effiziente Möglichkeit, Instanzen zu erstellen, anstatt Konstruktoren zu verwenden. Sie können benannt werden, Instanzen zurückgeben, die bestimmten Bedingungen entsprechen, und die Leistung durch Caching ve
제이온
제이온
제이온
제이온

27. April 2024

[Javascript] Objektstruktur (V8) Das JavaScript-Objekt wird in der V8-Engine je nach Zustand als strukturierte, optimierte Fast-Mode oder als Hashmap-basierter Dictionary-Mode dargestellt. Der Fast-Mode ist schnell, wenn Schlüssel und Werte fast fixiert sind, aber bei der Hinzufügung neu
곽경직
곽경직
곽경직
곽경직
곽경직

18. März 2024

Was ist das Java Collections Framework (JCF)? - Definition und Eigenschaften von JCF (JAVA) Das Java Collections Framework (JCF) ist eine Sammlung von Java-Klassen, die einen standardisierten Weg zur effizienten Verarbeitung von Datensätzen bieten. JCF implementiert Datenstrukturen und Algorithmen als Klassen, um die Code-Wiederverwendbarkeit, d
제이온
제이온
제이온
제이온

27. April 2024

[Spring] Was sind Filter, Interceptor und Argument Resolver? Erfahren Sie mehr über die Konzepte und Unterschiede von Filtern, Interceptoren und Argument Resolver in Spring-Webanwendungen. Dieser Artikel analysiert die Implementierung, den Zeitpunkt der Verwendung und die Vor- und Nachteile jeder Funktion im Vergle
제이온
제이온
제이온
제이온
제이온

27. April 2024