GET /api/auth/me — Кто я (сессия)
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/auth/me |
| Auth | optionalAuth — гость + авторизованный |
| Scope токена | read |
| PG-функции | api.validate_session |
| Таблицы | session, user |
| SRM | SRM-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).