Was ist JWT in Nodejs?
Was ist JWT in Nodejs?

Video: Was ist JWT in Nodejs?

Video: Was ist JWT in Nodejs?
Video: Простая авторизация на NODE JS. Роли пользователя. Express и MongoDB. JWT Access Token, bcrypt 2024, November
Anonim

Authentifizierung und Autorisierung mit JWT mit Knoten. JSON-Webtoken ( JWT ) ist ein offener Standard, der eine kompakte und in sich geschlossene Methode zur sicheren Übertragung von Informationen zwischen Parteien als JSON-Objekt definiert. Diese Informationen können verifiziert und vertrauenswürdig sein, da sie digital signiert sind.

Wie funktioniert JWT entsprechend im Knoten JS?

Die Ansprüche in a JWT werden als JSON-Objekt kodiert, das als Nutzlast einer JSON Web Signature (JWS)-Struktur oder als Klartext einer JSON Web Encryption (JWE)-Struktur verwendet wird, wodurch die Ansprüche digital signiert oder die Integrität mit einem Message Authentication Code geschützt werden kann (MAC) und/oder verschlüsselt.

Anschließend stellt sich die Frage, was ein JWT enthalten sollte. Derialisierte JWTs enthalten zwei Haupt-JSON-Objekte: den Header und die Nutzlast. Das Kopfobjekt enthält Informationen über die JWT selbst: die Art des Tokens, der verwendete Signatur- oder Verschlüsselungsalgorithmus, die Schlüssel-ID usw. Das Nutzdatenobjekt enthält alle relevanten Informationen des Tokens.

Was ist dann der geheime JWT-Schlüssel?

Der Algorithmus (HS256) zum Signieren der JWT bedeutet, dass die Geheimnis ist ein symmetrisches Schlüssel das ist sowohl dem Sender als auch dem Empfänger bekannt. Es wird out-of-band ausgehandelt und verteilt. Wenn Sie also der beabsichtigte Empfänger des Tokens sind, sollte Ihnen der Absender die Geheimnis außerhalb der Bandbreite.

Was macht die JWT-Verifizierung?

Tun So können Sie behaupten, dass ein Token von Ihrem Server ausgestellt und nicht böswillig geändert wurde. Wenn der Token signiert ist, ist er „zustandslos“: Das bedeutet, dass Sie außer dem geheimen Schlüssel keine zusätzlichen Informationen benötigen, um verifizieren dass die Informationen im Token „wahr“sind.

Empfohlen: