MOffice API

стенд фазы 0

Серверная часть лицензирования и аккаунтов MOffice: license-service (активация ключей MOFC-…, выпуск подписанных лицензий .mlic) и id-service (MOffice 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://moffice-api.24oros.ru/v1/activate \
  -H 'Content-Type: application/json' \
  -d '{"key":"MOFC-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"}}'

Спецификации: API сервиса лицензий, лицензирование и аккаунты.