BR 2.6 — Photo Studio Integration
Ссылки
- BR: 2.6 Интеграция AI Photo Studio Service
- Спека: Overview
- Permissions: Permissions
- ADR: ADR-021 Photo Studio — Go вместо Java и token introspection
- API: API
- Data Model: Data Model
Прогресс по компонентам
| Компонент | Файл задач | Статус |
|---|---|---|
| Auth Service | Auth Service | ☐ planned |
| User Service | User Service | ☐ planned |
| Photo Studio Service | Photo Studio Service | ☐ planned |
| Admin Franchise (фронт) | Admin Franchise | ☐ planned |
Порядок реализации
flowchart LR US["User Service\n(добавить gensvc.* permissions)"] AS["Auth Service\n(выпустить service-token\nдля gensvc)"] PS["Photo Studio Service\n(переключить auth\nна introspection)"] AF["Admin Franchise\n(UI ролей для gensvc.*)"] US --> PS AS --> PS PS --> AF
- User Service — добавить 6 ключей
gensvc.*в каталог permissions (миграция/seed). Без этого Auth Service не вернёт их в validate-ответе. - Auth Service — выпустить service-token для
gensvcсервиса, проверить что introspect-ответ включаетgensvc.*ключи. - Photo Studio Service — переключить auth с JWKS на introspection, добавить Redis-кэш, выровнять URL-префикс.
- Admin Franchise — проверить/добавить категорию «AI Студия» в UI управления ролями.
Блокер: порядок важен
Photo Studio Service нельзя переключить на introspection пока User Service не знает о
gensvc.*ключах — иначе validate вернёт пустой список permissions и все запросы будут падать с 403.
Принятые решения (2026-05-07, Захар)
Service-token — строка с ротацией
GENSVC_SERVICE_TOKEN— секрет с поддержкой ротации (новый токен выпускается через Auth Service, старый держится grace-period). Хранится в.envPhoto Studio Service. Ротация — отдельная задача в Auth Service backlog.
API Gateway — маршрут добавляется
В Gateway-конфиг добавляется маршрут
/api/v1/gensvc/*→http://photo-studio:8080/v1/*(Gateway rewrite, нашrouter.goне трогаем). Подробности — Вариант A.
UI — отдельный микро-фронт
Фронт AI Студии — отдельный SPA (
photo.nirbi.ru), не часть Админки Франшизы. В основном фронте Админки добавляется только кнопка перехода в раздел навигации (видна при наличииgensvc.access). Декомпозиция этой кнопки — в отдельном файле задачи на Admin Franchise UI.