يوم سعيد عزيزي القارئ. سأحاول في هذه المقالة التحدث عن واحدة من أكثر طرق الترخيص شيوعًا (اليوم) في تطبيقات خادم العميل المختلفة - رمز التفويض. وسننظر في ذلك باستخدام مثال التطبيق الأكثر شيوعًا - JSON Web Token أو JWT.
المقدمة
, : . - .
- , , , . , , - , , %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 , , , , . .
استنتاج
في هذه المقالة ، حاولت أن أفكر بالتفصيل في عمل تطبيقات خادم العميل مع رمز وصول ، وتحديدًا باستخدام JSON Web Token (JWT) كمثال. مرة أخرى ، أود أن أشير إلى السهولة النسبية ، ولكن في نفس الوقت الموثوقية الجيدة ، يسمح الرمز المميز بحل مشاكل المصادقة والتفويض ، مما جعله شائعًا للغاية. شكرا لك على وقتك.
روابط مفيدة
5 خطوات سهلة لفهم رموز الويب JSON (JWT)
JWT - كطريقة آمنة لمصادقة البيانات ونقلها
تأمين تطبيقات React Redux مع رموز JWT
لماذا أحتاج إلى Refresh Token إذا كان هناك رمز وصول؟