fix(auth): update refresh token behavior to be reusable within TTL and add tests for token functionality
This commit is contained in:
+3
-3
@@ -220,13 +220,13 @@ Refresh expired JWT using refresh token.
|
||||
}
|
||||
```
|
||||
|
||||
> **چرخش (rotation):** هر refresh token **یکبارمصرف** است. با هر فراخوانی، توکن ارائهشده باطل میشود و یک جفت `access_token` + `refresh_token` تازه صادر میگردد. توکن قبلی دیگر کار نمیکند (`401`). کاربر **معلق** (`status != 1`) نمیتواند refresh کند.
|
||||
> **قابل استفادهی مجدد:** refresh token تا انقضای TTL خود معتبر است و در پاسخ **بدون تغییر** برگردانده میشود (یکبارمصرف/چرخشی **نیست** — سایت عمومی در هر render سمتسرور refresh میزند و نمیتواند توکن چرخشیافته را ذخیره کند). کاربر **معلق** (`status != 1`) نمیتواند refresh کند (`401`).
|
||||
|
||||
### Response `200`
|
||||
```json
|
||||
{
|
||||
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
|
||||
"refresh_token": "<توکن جدید — با قبلی فرق دارد>",
|
||||
"refresh_token": "<همان توکن ارسالی — بدون تغییر>",
|
||||
"token_type": "Bearer",
|
||||
"expires_in": 900,
|
||||
"refresh_token_expires_in": 2592000
|
||||
@@ -236,7 +236,7 @@ Refresh expired JWT using refresh token.
|
||||
### Errors
|
||||
| Code | HTTP | Description |
|
||||
|------|------|-------------|
|
||||
| `ERR_AUTH_001` | 401 | Invalid/expired/already-rotated refresh token, or suspended user |
|
||||
| `ERR_AUTH_001` | 401 | Invalid/expired refresh token, or suspended user (`status != 1`) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user