Серверная часть лицензирования и аккаунтов Meridian Office: license-service (активация ключей
MRDN-…, выпуск подписанных лицензий .mlic) и id-service (Meridian ID: вход, токены,
сессии). Rust + axum + PostgreSQL. Задача B5 сессии «Платформа».
license-service
проверка…
id-service
проверка…
Ключ подписи лицензий
…
Стенд работает на тестовых ключах подписи и тестовых лицензионных ключах; выданные здесь
лицензии не принимаются продуктом. Данные стенда могут очищаться.
Методы
| Метод | Адрес | Назначение |
|---|---|---|
| GET | /healthz | состояние (license-service; /healthz/id — id-service) |
| POST | /v1/activate | активация ключом: устройство → лицензия .mlic (CBOR + Ed25519) |
| POST | /v1/validate | периодическая проверка лицензии устройства |
| POST | /v1/deactivate | освобождение места |
| GET | /v1/signing-keys, /v1/time | публичные ключи подписи, подписанное время |
| POST | /v1/auth/register, /v1/auth/login | регистрация и вход (Argon2id) → access-JWT EdDSA + refresh |
| POST | /v1/auth/refresh, /v1/auth/logout | ротация refresh (повтор → отзыв сессии), выход |
| GET | /v1/me, /v1/sessions | профиль и активные сессии (Bearer) |
| GET | /.well-known/jwks.json | публичный ключ проверки access-токенов |
Пример
curl -s https://meridian-api.24oros.ru/v1/activate \
-H 'Content-Type: application/json' \
-d '{"key":"MRDN-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"device":{"fingerprint_hash":"<64 hex>","components":["<64 hex>","<64 hex>","<64 hex>"],
"name":"PC","os":"linux","os_version":"6.8","arch":"x86_64"}}'