27 lines
2.0 KiB
Markdown
27 lines
2.0 KiB
Markdown
## Why
|
|
|
|
После авторизации пользователю нужен безопасный способ подключить свой read-only T-Bank Invest token, чтобы backend мог получать персональные инвестиционные данные. Токен и доступ к внешнему API должны оставаться полностью за backend boundary.
|
|
|
|
## What Changes
|
|
|
|
- Добавить настройки профиля для добавления, замены и удаления одного T-Bank token на пользователя.
|
|
- Проверять token вызовом T-Bank `GetAccounts` до сохранения и хранить только шифротекст с ключом из окружения.
|
|
- Добавить server-side gRPC T-Bank client с глобальным конфигурируемым лимитом 5 запросов в секунду, ограниченными повторами временных ошибок и безопасной классификацией upstream-ошибок.
|
|
- Подготовить только проверку token через `GetAccounts`; API счетов, портфеля и их cache остаются следующими changes.
|
|
- Документировать поток подключения, правила обработки token и устойчивость upstream-вызовов.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `tbank-connection`: Защищенное управление T-Bank token пользователя и backend boundary для read-only вызовов Invest API.
|
|
|
|
### Modified Capabilities
|
|
|
|
Нет.
|
|
|
|
## Impact
|
|
|
|
- Затрагивает authenticated backend API/OpenAPI, SQLite schema, настройки frontend и generated API client.
|
|
- Добавляет server-side gRPC/protobuf зависимости и T-Bank configuration variables.
|
|
- Использует user identity, созданную change `add-authentication`.
|