Добавить ESP pairing через доверенные сессии

This commit is contained in:
AidarKC
2026-06-14 18:21:23 +04:00
parent 5d13112b00
commit 3e04727022
36 changed files with 2500 additions and 6 deletions
@@ -0,0 +1,23 @@
# server esp pairing
- краткое описание фичи:
- на сервере добавлен отдельный pairing-сценарий для подключения нового устройства через доверенную уже авторизованную сессию пользователя без выдачи приватных ключей сервером;
- добавлены `op`: `UpsertEspPairingSettings`, `StartEspPairing`, `ListEspPairingRequests`, `ApproveEspPairing`, `RejectEspPairing`, `GetEspPairingStatus`;
- подтверждать pairing может любая доверенная сессия пользователя.
- что именно проверять:
- любая уже авторизованная сессия пользователя включает pairing и задаёт `passwordHash`;
- новое устройство создаёт заявку через `StartEspPairing`;
- другая доверенная сессия пользователя видит заявку в `ListEspPairingRequests`;
- доверенная сессия подтверждает заявку через `ApproveEspPairing`;
- новое устройство получает `approved + encryptedPayload` через `GetEspPairingStatus`;
- неавторизованное новое устройство не может вызывать управляющие pairing-операции.
- ожидаемый результат:
- заявка создаётся со статусом `created`;
- у заявки есть `pairingId`, `shortCode`, `fingerprintB58`, `expiresAtMs`;
- после approve статус становится `approved`, а `encryptedPayload` возвращается новому устройству;
- неавторизованное соединение получает отказ `463 / PAIRING_REQUIRES_AUTH_SESSION`.
- статус:
- `pending`