AUTH-06: Сброс пароля — форма нового пароля
Что сделать
Страница /reset-password?token=xxx: форма нового пароля с обработкой ошибок токена.
Смотри спеку
Секция “Шаг 3: Новый пароль” в Авторизация — Восстановление пароля.
Конкретно
Форма
- Заголовок: “Новый пароль”
- Поля:
| Поле | Тип |
|---|---|
| Новый пароль | password input |
| Подтверждение пароля | password input |
- Кнопка “Сохранить пароль” (primary)
- Токен берётся из query-параметра
token
API: POST /api/v1/admin/auth/reset-password
Body: { token, password, password_confirmation }
Успех
- Сообщение: “Пароль успешно изменён”
- Кнопка “Войти” →
/login
Ошибки
| Код | Что показать |
|---|---|
VALIDATION_ERROR (400) | “Пароли не совпадают” или “Пароль слишком короткий (мин. 6)“ |
INVALID_RESET_TOKEN (422) | “Ссылка недействительна или срок действия истёк. Запросите новую ссылку.” + кнопка → /forgot-password |
TOKEN_ALREADY_USED (422) | “Эта ссылка уже была использована. Запросите новую.” + кнопка → /forgot-password |
Валидация на клиенте
- Оба поля обязательны
- Пароль мин. 6 символов
- Пароли совпадают
Состояния
| Состояние | UI |
|---|---|
| Начальное | Форма с двумя полями |
| Загрузка | Кнопка disabled, спиннер |
| Успех | ”Пароль изменён” + кнопка “Войти” |
| Токен невалиден | Ошибка + ссылка /forgot-password |
Файлы
web/src/pages/auth/ResetPasswordPage.tsx— создатьweb/src/api/auth.ts— добавить resetPassword
Зависит от
- AUTH-01 (BFF прокси)