Перейти к содержимому

POST /api/site-admin/login — Вход site-admin (пароль)

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPPOST /api/site-admin/login
Auth
Scope токенаread_write
PG-функцииapi.admin_login
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/site-admin.js
Статуспо коду (вне SRM)

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

АргументГдеОбяз.Заметка
emailbodyподтвердить
passwordbodyподтвердить

Коды ответов/ошибок (из хендлера): 400, 401 (+ 200) — уточнить причины вручную

Для человека

Как открыть: у платформенного администратора отдельная страница входа (не общий экран входа пользователей). На ней — поле почты, поле пароля и кнопка «Войти». Это первый из двух шагов входа в Admin Panel.

Проверяет почту и пароль администратора платформы (site-admin). Дальше развилка:

  • Если у этого администратора подключена двухфакторная защита (TOTP) — вход не завершается: вы переходите на второй шаг и вводите одноразовый код. Подтверждение кода — verify-totp.
  • Если TOTP не настроен — сессия открывается сразу, и вы попадаете в панель.

Пароль вводите вручную; на экране он скрыт. При неверной паре «почта + пароль» система отвечает общей ошибкой «Неверные учётные данные» (401) — без подсказки, что именно не сошлось. Если не заполнить почту или пароль — 400.

Кто может. Только администратор платформы со своей учётной записью. У обычных ролей (сотрудник, менеджер спейса, наблюдатель, администратор организации, гость) этой страницы и доступа к ней нет.

Для агента

Это операция site-admin, и она недоступна API-токену ни на каком scope. Вход в панель администратора платформы — исключительно человеческий поток через браузер: пароль плюс одноразовый код TOTP, защищённая cookie-сессия. Токен здесь не участвует.

Путь /api/site-admin/* закрыт для Bearer-токенов в agent-gate (server/auth/agentGate.js): он не входит ни в read-allowlist, ни в write-allowlist, а allowlist работает «закрыто по умолчанию». Любой вызов с Authorization: Bearer tak_... на этот путь возвращает 403 (Forbidden for token). Markdown-зеркала у site-admin нет.

Сам login — публичный шаг входа (без middleware, mw=-): он создаёт человеческую сессию, а не токенную. Поток показан для полноты, выполняется браузером с сохранением cookie:

Окно терминала
# Шаг 1 — пароль. При включённом TOTP в ответе придёт tempToken для шага 2.
curl -X POST https://specbuilder.vnimanie.ai/api/site-admin/login \
-c admin-cookies.txt \
-H "Content-Type: application/json" \
-d '{"email":"admin@example.com","password":"<пароль>"}'

Ответ при включённом TOTP (200) — переход на второй шаг:

{ "step": "totp", "tempToken": "0e1f2a3b-..." }

Ответ без TOTP (200) — сессия уже открыта, cookie admin_sid установлена:

{ "step": "done", "admin": { "id": "9c8b7a6d-...", "email": "admin@example.com" } }

Дальнейший шаг при step: totpverify-totp.

Связанные