E aí, pessoal! Lucas hier aus São Paulo.
Bei der Implementierung von Benutzeranmeldungen in modernen Web-Apps sind JSON Web Tokens (JWT) der Industriestandard. Aber ich sehe viele Entwickler, die Bibliotheken verwenden, um JWTs zu verwalten, ohne zu verstehen, was sie eigentlich sind.
Die drei Teile eines JWT
Wenn Sie sich ein JWT ansehen, sind es nur drei zufällig aussehende Zeichenfolgen, die durch Punkte getrennt sind: „header.payload.signature“.Das größte Missverständnis ist, dass JWTs verschlüsselt sind. Das sind sie NICHT. Der Header und die Nutzlast sind einfach Base64-kodiert. Jeder, der das Token abfängt, kann es entschlüsseln und Ihre Nutzdaten lesen (weshalb Sie niemals Passwörter oder vertrauliche Informationen darin ablegen sollten!).
Der dritte Teil, die Signatur, macht es sicher. Es beweist, dass das Token von Ihrem Server generiert wurde und nicht manipuliert wurde.
Token zum Debuggen dekodieren
Wenn ich Frontend-Authentifizierungsprobleme debugge, verwende ich immer das lokale Tool JWT Decoder. Ich füge das Token ein und es zeigt mir sofort die JSON-Nutzlast, sodass ich überprüfen kann, ob die Benutzerrollen und Ablaufzeitstempel korrekt sind. Da das Tool vollständig im Browser läuft, werden meine Sitzungstoken niemals Dritten zugänglich gemacht.Wenn Sie Ihre Tools verstehen, schreiben Sie viel besseren Code!