BR 2.6 — Photo Studio Integration

Ссылки

Прогресс по компонентам

КомпонентФайл задачСтатус
Auth ServiceAuth Service☐ planned
User ServiceUser Service☐ planned
Photo Studio ServicePhoto 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
  1. User Service — добавить 6 ключей gensvc.* в каталог permissions (миграция/seed). Без этого Auth Service не вернёт их в validate-ответе.
  2. Auth Service — выпустить service-token для gensvc сервиса, проверить что introspect-ответ включает gensvc.* ключи.
  3. Photo Studio Service — переключить auth с JWKS на introspection, добавить Redis-кэш, выровнять URL-префикс.
  4. 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). Хранится в .env Photo 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.