Guten Tag, lieber Leser. In diesem Artikel werde ich versuchen, über eine der beliebtesten (heutigen) Autorisierungsmethoden in verschiedenen Client-Server-Anwendungen zu sprechen - das Autorisierungstoken. Und wir werden es am Beispiel der beliebtesten Implementierung betrachten - JSON Web Token oder JWT.
Einführung
, : . - .
- , , , . , , - , , %user_name%, , .
, . , - , - .
: , , , - .
. , HTTP( HTTPS) , HTTP , , , : , , . , - JSON Web Tokens (JWT). ( ), , .
. JSON Web Tokens (JWT) , JWT , .
JSON Web Token (JWT) — (RFC 7519) , JSON.
( ) , , ID, , . , .
, JWT. , , , , . 2 : access token refresh token ( , access token). , , . , API access token. , , ( , , ), , , . JSON Web Tokens.
. , JWT , :
(header)
(playload)
(signature)
.
. , , , JWT. JSON , Base64-URL :
:
{"alg":"HS256","typ":"JWT"}
: alg typ. typ , , JWT , , JWT(2.0), JWT. alg . HMAC SHA-256, , , HS256. , . , , JWT, , RS256. - . .
. - JSON , , base64. (playload) :
JSON :
{"user_id":1,"exp":1581357039}
. , :
iss - , .
user_id - , .
, exp. , ( , ). , , , . , is_admin is_preferUser, , , . , , , , . JWT.
, , . - (). : , , , , , , , ( alg ), HMAC-SHA256, ( , ) . , base64, . . API , , . , , , , , . , , , %user_name% .
Refresh Token
- , refresh token. , - . , 10-30 . : , , . , : . , , , %user_name%, access token , . . access token refresh token. ( ) . access token refresh token , , - , , - . refresh token , , , , . .
Fazit
In diesem Artikel habe ich versucht, die Arbeit von Client-Server-Anwendungen mit einem Zugriffstoken im Detail zu betrachten, insbesondere am Beispiel des JSON-Web-Tokens (JWT). Ich möchte noch einmal darauf hinweisen, mit welcher vergleichsweise einfachen, aber gleichzeitig guten Zuverlässigkeit das Token die Lösung von Authentifizierungs- und Autorisierungsproblemen ermöglicht, die es so beliebt gemacht haben. Vielen Dank für Ihre Zeit.
Nützliche Links
5 einfache Schritte zum Verständnis von JSON-Web-Tokens (JWT)
JWT - als sichere Methode zur Authentifizierung und Übertragung von Daten
Sichern von React Redux-Apps mit JWT-Token
Warum brauche ich ein Aktualisierungstoken, wenn es ein Zugriffstoken gibt?