Add period-based license keys alongside fixed expiry dates.
New keys default to validDays with countdown starting on first activation; existing expiresAtSec keys behave unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -65,7 +65,10 @@ npm test
|
||||
- `POST /v1/admin/revoke` — `Authorization: Bearer <LICENSE_ADMIN_TOKEN>`, тело `{ "key": "TTRPG-..." }` (один продуктовый ключ) или `{ "sub": "..." }` (все ключи с этим sub, legacy).
|
||||
- `POST /v1/admin/issue` — админская выдача (`sub`, `pid`, `iat`, `exp`, `did`).
|
||||
- `GET /v1/admin/licenses` — список продуктовых ключей с активациями и флагом `revoked`.
|
||||
- `POST /v1/admin/product-keys` — создание нового продуктового ключа (`pid`, `maxDevices`, `expiresAtSec`, опционально `key`, `sub`).
|
||||
- `POST /v1/admin/product-keys` — создание нового продуктового ключа (`pid`, `maxDevices`, опционально `key`, `sub`).
|
||||
- **По умолчанию** — period-лицензия: `validDays: 365` (отсчёт с первой активации).
|
||||
- **Fixed** (фиксированная дата): явно передайте `expiresAtSec` (unix-секунды).
|
||||
- Нельзя указывать `expiresAtSec` и `validDays` одновременно.
|
||||
- `GET /health` — `{ ok: true }`.
|
||||
|
||||
## Клиент
|
||||
|
||||
Reference in New Issue
Block a user