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

GET /api/site-admin/check — Проверить сессию site-admin

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

ПолеЗначение
HTTPGET /api/site-admin/check
AuthrequireSiteAdmin — только site-admin
Scope токенаread
PG-функцииapi.validate_admin_session
Таблицыadmin_session
SRMSRM-130
RP (права)RP-081
Файл роутаserver/routes/site-admin.js
Статусdone

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

аргументов не обнаружено (подтвердить вручную по server/routes/site-admin.js)

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

Для человека

Как открыть: отдельной кнопки у этой проверки нет — она работает сама. Когда вы открываете Admin Panel или возвращаетесь к уже открытой вкладке, панель тихо спрашивает сервер: «моя сессия администратора ещё жива?». Если да — показывает разделы панели; если нет — возвращает на страницу входа.

Проверяет, действует ли сейчас сессия администратора платформы. Это страж на входе в панель: благодаря ему не приходится логиниться при каждом открытии, но и просроченная сессия не пускает дальше. Сессия живёт ограниченное время; когда срок выходит, проверка перестаёт подтверждать вход, и панель просит войти заново (пароль и при необходимости код TOTP).

Своих данных, кроме «вы вошли как такой-то администратор», эта проверка не показывает — вся работа идёт в разделах панели.

Кто может. Только администратор платформы с открытой сессией. Для всех остальных проверка не подтверждается — доступа к панели нет.

Для агента

Это операция site-admin, и она недоступна API-токену ни на каком scope. Проверка сессии опирается на человеческую cookie-сессию администратора (admin_sid), а не на токен.

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

Под защитой requireSiteAdmin. Браузер шлёт его с cookie-сессией:

Окно терминала
curl https://specbuilder.vnimanie.ai/api/site-admin/check -b admin-cookies.txt

Ответ 200 — сессия действует:

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

Без действующей сессии (нет/недействительна/истекла cookie) → 401.

Связанные