POST /api/auth/password-reset/confirm — Подтверждение сброса пароля
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/auth/password-reset/confirm |
| Auth | — |
| Scope токена | read_write |
| PG-функции | — |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/notifications.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
new_password | body | подтвердить | |
token | body | подтвердить |
Коды ответов/ошибок (из хендлера): 400, 500 (+ 200) — уточнить причины вручную
Для человека
Как открыть: задумано как экран «придумайте новый пароль», на который пользователь попадает по ссылке из письма (после запроса сброса). Полный путь через интерфейс пока не выведен (FM-082 — «todo»), серверная часть уже работает.
Второй, завершающий шаг сброса: по одноразовому токену из письма задаётся новый пароль. Токен одноразовый и живёт 1 час.
Что проверяется и какие ошибки можно увидеть (все — 400):
- токена нет в системе — «Недействительный токен»;
- токен уже применяли — «Токен уже использован»;
- прошёл час — «Токен истёк»;
- новый пароль короче 8 символов — отклоняется.
При успехе пароль меняется, токен гасится, и все активные сессии аккаунта сбрасываются — после смены пароля придётся войти заново на всех устройствах. Это намеренная мера безопасности.
Кто может. Завершить сброс может любой, кроме администратора платформы (RP-093) — фактически тот, у кого на руках валидный токен из письма.
Для агента
Завершение сброса пароля — часть восстановления человеческого аккаунта; агент сюда не ходит. У токена пароля нет, восстанавливать нечего; при компрометации токен отзывается и выпускается заново (Создать токен). Учтите ещё, что успешный сброс удаляет все сессии пользователя — на токены это не влияет, они живут отдельно, но это лишний повод не путать токен с паролем.
Метод задокументирован для полноты. Тело запроса:
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
token | string | да | Одноразовый токен восстановления из письма |
new_password | string | да | Новый пароль, не короче 8 символов |
Успех — 200 { "ok": true }. Ошибки 400: недействительный, использованный или истёкший токен; короткий пароль; отсутствие обязательного поля. Markdown-зеркала и аффордансов у метода нет (server/agent/affordances.js).