در این پاسخ، من به تفاوتهای اصلی بین توکنهای دسترسی (access token)، توکنهای بازنویسی (refresh token) و توکنهای معمول (normal token) اشاره خواهم کرد.
توکنهای دسترسی (Access Token)
حاوی اطلاعات کاربر و مجوزهای مورد نیاز است
معمولاً دارای زمان انقضای کوتاه (هر چند ساعت یا روز) است
برای هر درخواست به سرور ارسال میشوند
نباید در محیط کلاینت ذخیره شوند
توکنهای بازنویسی (Refresh Token)
حاوی اطلاعات کاربر است اما جزئیات کمتری نسبت به توکنهای دسترسی می باشد
معمولاً دارای زمان انقضای طولانیتر است
ذخیره میشوند و فقط زمانی استفاده میشوند که توکن دسترسی شود
باید با دقت نگهداری شوند تا از سوءاستفاده جلوگیری شود
توکنهای معمول (Normal Token)
این اصطلاح معمولاً برای توکنهایی استفاده میشود که ویژگیهای خاصی ندارند
ممکن است ترکیبی از ویژگیهای توکنهای دسترسی و بازنویسی داشته باشند
عمر آنها میتواند کوتاه یا طولانی باشد، بسته به طراحی سیستم می باشد
تفاوتها
1. زمان انقضاء:
Access token
کوتاهمدت
Refresh token
طولانیمدت
Normal token
میتواند کوتاه یا طولانیمدت
2. نحوه استفاده:
Access token
برای هر درخواست به سرور
Refresh token
برای تجدید توکن دسترسی
Normal token
بسته به طراحی سیستم، ممکن است برای هر دو هدف استفاده شود
3. ذخیرهسازی:
Access token
معمولاً در محیط کلاینت ذخیره نمیشوند
Refresh token
در محیط کلاینت ذخیره میشوند
Normal token
روش ذخیرهسازی آن بستگی به طراحی سیستم دارد
4. امنیت:
Access token
نیاز به امنیت بالا دارد
Refresh token
نیاز به امنیت بالایی دارد و باید با دقت نگهدارده شود
Normal token
نیاز به امنیت مناسب دارد، اما ممکن است کمتر از توکنهای دسترسی و بازنویسی باشد
بهترین شیوهها
همیشه از HTTPS برای انتقال توکنها استفاده کنید
توکنهای دسترسی را در محیط کلاینت ذخیره نکنید
توکنهای بازنویسی را با دقت نگهدارید و فقط در سرور ذخیره کنید
سیاست چرخش توکنها را پیادهسازی کنید
مکانیزم لغو توکنهای بازنویسی را دارد
با در نظر گرفتن این تفاوتها و بهترین شیوهها، شما میتوانید از مزایای توکنهای مختلف در حالی که همچنان امنیت سیستم خود را حفظ میکنید، استفاده کنید.
لینک مقاله در ویرگول
ترجمه:
Types of tokens in front-end programming
In this answer, I will point out the main differences between access tokens, refresh tokens and normal tokens.
Access Tokens
Contains user information and required permissions
It usually has a short expiration time (a few hours or days).
They are sent to the server for each request
They should not be stored in the client environment
Refresh Tokens
Contains user information but is less detailed than access tokens
It usually has a longer expiration time
They are stored and used only when the token is accessed
They must be carefully maintained to prevent misuse
Normal Tokens
This term is usually used for tokens that do not have any special properties
They may have a combination of access and rewrite token features
Their lifetime can be short or long, depending on the system design
The differences
1. Expiration time:
Access token
short term
Refresh token
long term
Normal token
It can be short or long term
2. How to use:
Access token
For each request to the server
Refresh token
To renew the access token
Normal token
Depending on the system design, it may be used for both purposes
3. Storage:
Access token
They are usually not stored in the client environment
Refresh token
They are stored in the client environment
Normal token
Its storage method depends on the system design
4. Security:
Access token
It requires high security
Refresh token
It requires high security and must be kept carefully
Normal token
Requires proper security, but may be less than access and rewrite tokens
Best practices
Always use HTTPS to transfer tokens
Do not store access tokens in the client environment
Keep rewrite tokens safe and only store them on the server
Implement a token rotation policy
It has a rewrite token cancellation mechanism
By keeping these differences and best practices in mind, you can take advantage of different tokens while still keeping your system secure.
Article link in commas
In this answer, I will point out the main differences between access tokens, refresh tokens and normal tokens.
Access Tokens
Contains user information and required permissions
It usually has a short expiration time (a few hours or days).
They are sent to the server for each request
They should not be stored in the client environment
Refresh Tokens
Contains user information but is less detailed than access tokens
It usually has a longer expiration time
They are stored and used only when the token is accessed
They must be carefully maintained to prevent misuse
Normal Tokens
This term is usually used for tokens that do not have any special properties
They may have a combination of access and rewrite token features
Their lifetime can be short or long, depending on the system design
The differences
1. Expiration time:
Access token
short term
Refresh token
long term
Normal token
It can be short or long term
2. How to use:
Access token
For each request to the server
Refresh token
To renew the access token
Normal token
Depending on the system design, it may be used for both purposes
3. Storage:
Access token
They are usually not stored in the client environment
Refresh token
They are stored in the client environment
Normal token
Its storage method depends on the system design
4. Security:
Access token
It requires high security
Refresh token
It requires high security and must be kept carefully
Normal token
Requires proper security, but may be less than access and rewrite tokens
Best practices
Always use HTTPS to transfer tokens
Do not store access tokens in the client environment
Keep rewrite tokens safe and only store them on the server
Implement a token rotation policy
It has a rewrite token cancellation mechanism
By keeping these differences and best practices in mind, you can take advantage of different tokens while still keeping your system secure.
Article link in commas