GET /api/site-admin/check — Проверить сессию site-admin
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/site-admin/check |
| Auth | requireSiteAdmin — только site-admin |
| Scope токена | read |
| PG-функции | api.validate_admin_session |
| Таблицы | admin_session |
| SRM | SRM-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.
Связанные
- Экраны: Admin Panel
- Конвенции · Роли · Ошибки · Глоссарий