Buen día, querido lector. En este artículo intentaré hablar sobre uno de los métodos de autorización más populares (hoy) en varias aplicaciones cliente-servidor: el token de autorización. Y lo consideraremos usando el ejemplo de la implementación más popular: JSON Web Token o JWT.
Introducción
, : . - .
- , , , . , , - , , %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 , , , , . .
Conclusión
En este artículo, traté de considerar en detalle el trabajo de las aplicaciones cliente-servidor con un token de acceso, específicamente usando el ejemplo de JSON Web Token (JWT). Una vez más, me gustaría señalar con qué facilidad comparativa, pero al mismo tiempo buena confiabilidad, el token permite resolver problemas de autenticación y autorización, lo que lo hizo tan popular. Gracias por tu tiempo.
Enlaces útiles
5 sencillos pasos para comprender los tokens web JSON (JWT)
JWT: como una forma segura de autenticar y transferir datos
Protección de aplicaciones React Redux con tokens JWT
¿Por qué necesito Refresh Token si hay Access Token?