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

GET /api/auth/me — Кто я (сессия)

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

ПолеЗначение
HTTPGET /api/auth/me
AuthoptionalAuth — гость + авторизованный
Scope токенаread
PG-функцииapi.validate_session
Таблицыsession, user
SRMSRM-088
RP (права)RP-091
Файл роутаserver/routes/auth.js
Статусdone

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

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

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

Для человека

Как открыть: напрямую из интерфейса не вызывается. Приложение само спрашивает «кто я» при каждой загрузке страницы — по ответу решает, показать гостевой режим или ваш аккаунт (имя в углу, личные спейсы, профиль).

Возвращает текущего пользователя сессии — то, что лежит в cookie. Если вы вошли — придёт ваш профиль; если нет — user: null, и приложение остаётся в гостевом режиме. Это не действие, а проверка: эндпоинт ничего не меняет.

Кто может. Доступно всем (RP-091): и гостю (получит null), и любой вошедшей роли (получит свой профиль).

Для агента

Это сессионный «кто я» — он смотрит на cookie, а не на токен. Под Bearer-токеном без cookie он вернёт user: null, потому что сессии у токена нет. Чтобы агенту узнать, под кем он работает (владелец + активная организация), нужен соседний эндпоинт GET /api/users/me — он понимает токен и отдаёт профиль актора с аффордансом whoami.

Тела у запроса нет. Чтение — хватает scope read (см. Конвенции). Ответ 200 для cookie-сессии:

{ "user": { "id": "a1b2c3d4-...", "email": "user@example.com", "displayName": "Иван" } }

Для анонимного запроса — { "user": null }. Markdown-зеркала и аффордансов у этого метода нет; агентный self-ресурс — это /api/users/me (server/agent/affordances.js, аффорданс whoami).

Связанные