POST /api/auth/login — Вход
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/auth/login |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.login |
| Таблицы | user, session |
| SRM | SRM-086 |
| RP (права) | RP-091 |
| Файл роута | server/routes/auth.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
email | body | подтвердить | |
password | body | подтвердить |
Коды ответов/ошибок (из хендлера): 400, 401, 500 (+ 200) — уточнить причины вручную
Для человека
Как открыть: в правом верхнем углу нажмите «Войти» → откроется карточка с заголовком «Вход» → поля e-mail и пароль → кнопка «Войти».
Проверяет почту и пароль и, если они верны, открывает сессию: страница перезагружается уже под вашим аккаунтом, появляются ваши спейсы, проекты и профиль. Сессия держится в защищённой cookie, поэтому при следующем заходе с этого браузера вход обычно уже не требуется — до выхода или истечения срока.
Оба поля обязательны: если что-то не заполнено — 400. Если пара «почта + пароль» не подходит — 401 с одинаковым сообщением «Неверный email или пароль». Сообщение одно на оба случая нарочно: по нему нельзя понять, существует ли вообще аккаунт на этот адрес, — это защита от перебора почт.
Кто может. Вход доступен всем ролям — от гостя до администратора платформы (RP-091). Под входом нет: гость работает без аккаунта, его проекты лежат в гостевом спейсе и при регистрации переносятся (см. Регистрацию). Если пароль забыт — запросите сброс.
Для агента
Это эндпоинт человеческой cookie-сессии — агент его обычно не вызывает. Агенты аутентифицируются не входом по паролю, а Bearer-токеном, который владелец заранее выпускает в профиле (раздел «Токены API», см. Создать токен). Токен действует как сам пользователь, под его ролью; никакой сессии через /login для этого не нужно. Логин/пароль агенту здесь ни к чему — он просто шлёт Authorization: Bearer tak_... на нужный ресурс.
Метод задокументирован для полноты. На успех он отдаёт Set-Cookie с подписанной сессией — это механизм браузера, не токен-клиента. Тело запроса:
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
email | string | да | Почта аккаунта |
password | string | да | Пароль |
Ответ 200 — профиль вошедшего пользователя (и Set-Cookie в заголовках):
{ "user": { "id": "a1b2c3d4-...", "email": "user@example.com", "displayName": "Иван" } }Ошибки: 400 — не передали поле; 401 — неверная пара почта/пароль. Markdown-зеркала и аффордансов у этого метода нет — он не входит в агентный набор ресурсов (server/agent/affordances.js). Чтобы понять, под кем вы работаете по токену, используйте GET /api/users/me.