Table of Contents |
---|
...
JWTs können auf verschiedene Arten verwendet werden:
AuthentifizierungAuthentication: Wenn sich ein Benutzer erfolgreich mit seinen Anmeldeinformationen anmeldet, wird ein ID-Token zurückgegeben.
ErmächtigungAuthorization: Sobald ein Benutzer erfolgreich angemeldet ist, kann eine Anwendung im Namen dieses Benutzers Zugriff auf Routen, Dienste oder Ressourcen (z. B. APIs) anfordern. Dazu muss es in jeder Anforderung ein Zugriffstoken übergeben, das in Form eines JWT vorliegen kann. Single Sign-On (SSO) verwendet JWT aufgrund des geringen Overheads des Formats und seiner Fähigkeit, problemlos über verschiedene Domänen hinweg verwendet zu werden.
InformationsaustauschInformation Exchange: JWTs sind eine gute Möglichkeit, Informationen sicher zwischen Parteien zu übertragen, da sie signiert werden können, was bedeutet, dass Sie sicher sein können, dass die Absender die sind, für die sie sich ausgeben. Darüber hinaus können Sie anhand der Struktur eines JWT überprüfen, ob der Inhalt nicht manipuliert wurde.
...
Code Block |
---|
header.payload.signature |
...
Das Nutzlast payload enthält die Ansprüche. Dies wird als JSON-Zeichenfolge angezeigt, die normalerweise nicht mehr als ein Dutzend Felder enthält, um das JWT kompakt zu halten. Diese Informationen werden normalerweise vom Server verwendet, um zu überprüfen, ob der Benutzer über die Berechtigung zum Ausführen der von ihm angeforderten Aktion verfügt.
...
"iss"
(Emittenten-) Forderung"sub"
(Betreff-)Anspruch"AUDaud"
(Publikums-)Anspruch"exp"
(Verfallszeit) Anspruch"NBFnbf"
(Nicht vorher) Anspruch"iat"
(Ausgestellt bei) Anspruch"jit"
(JWT ID) Anspruch
...
Wann immer der Benutzer auf eine geschützte Route oder Ressource zugreifen möchte, sollte der Benutzeragent das JWT senden, normalerweise in der ErmächtigungAuthorization -Header mit dem ÜberbringerBearer Schema. Der Inhalt der Kopfzeile sollte wie folgt aussehen:
...
Dies kann in bestimmten Fällen ein staatenloser Autorisierungsmechanismus sein. Die geschützten Routen des Servers suchen nach einem gültigen JWT im Ermächtigung
Authorization
-Header, und wenn vorhanden, kann der Benutzer auf geschützte Ressourcen zugreifen. Wenn das JWT die erforderlichen Daten enthält, kann die Notwendigkeit, die Datenbank für bestimmte Operationen abzufragen, reduziert werden, obwohl dies möglicherweise nicht immer der Fall ist.
Wenn das Token in der Ermächtigung
Authorization
-Header ist Cross-Origin Resource Sharing (CORS) kein Problem, da es keine Cookies verwendet.
...