> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Глоссарий: Сброс пароля через OTP

> Справочник сервиса одноразовых кодов, шагов сброса пароля и их форматов.

Справочник к странице [«Сброс пароля через OTP»](/ru/logic/user/password-reset).

## Понятия

| Понятие                        | Значение                                                                                                                                                    |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Сервис одноразовых кодов (OTP) | Единый schema-namespaced сервис выдачи, проверки и инвалидации одноразовых кодов на базе кэша. Код и метаданные хранятся отдельно от паузы между запросами. |
| Ошибка паузы OTP               | Исключение, выбрасываемое при попытке запросить новый код до истечения паузы; в шаге инициации превращается в ответ HTTP 429.                               |

## Модели и поля

### Сервис одноразовых кодов (OTP)

*Единый schema-namespaced сервис выдачи, проверки и инвалидации одноразовых кодов на базе кэша. Код и метаданные хранятся под ключом кода, пауза — под отдельным ключом.*

**Параметры**

| Поле                  | Тип             | Описание                                              |
| --------------------- | --------------- | ----------------------------------------------------- |
| Длина кода            | число           | По умолчанию 6 цифр.                                  |
| Время жизни кода      | число (секунды) | Код действителен 300 секунд.                          |
| Пауза между запросами | число (секунды) | Новый код можно выдать не раньше чем через 60 секунд. |
| Максимум попыток      | число           | После 5 неверных вводов код сжигается.                |

**Данные кода**

| Поле              | Тип                | Описание                                                  |
| ----------------- | ------------------ | --------------------------------------------------------- |
| Область (ключ)    | текст              | Логический идентификатор кода, например по адресу сброса. |
| Код               | текст              | Сама одноразовая цифровая комбинация.                     |
| Число попыток     | число              | Счётчик неверных вводов текущего кода.                    |
| Полезная нагрузка | словарь            | Необязательные данные, привязанные к коду.                |
| Время истечения   | дата/время (метка) | Момент, после которого код недействителен.                |

### Инициация сброса пароля

*Выдаёт код по email и отправляет письмо с ним фоновой задачей. Троттлинг 5 запросов в минуту; при активной паузе возвращается HTTP 429; ответ одинаков для существующего и несуществующего email.*

| Поле               | Тип           | Описание                            |
| ------------------ | ------------- | ----------------------------------- |
| Email              | текст (email) | Адрес, на который отправляется код. |
| Область троттлинга | текст         | Лимит 5 запросов в минуту.          |

### Проверка кода сброса

*Сверяет код и при успехе выдаёт временный токен сброса на 5 минут. Троттлинг 10 запросов в минуту; токен кладётся в кэш на 300 секунд.*

| Поле               | Тип            | Описание                                       |
| ------------------ | -------------- | ---------------------------------------------- |
| Email              | текст (email)  | Адрес пользователя.                            |
| Код OTP            | текст (6 цифр) | Одноразовый код из письма.                     |
| Токен сброса       | текст (UUID)   | Выдаётся при успешной проверке, живёт 5 минут. |
| Область троттлинга | текст          | Лимит 10 запросов в минуту.                    |

### Подтверждение нового пароля

*Проверяет токен сброса и устанавливает новый пароль пользователю. Троттлинг отсутствует (в отличие от инициации и проверки); после успеха токен удаляется из кэша.*

| Поле         | Тип           | Описание                                             |
| ------------ | ------------- | ---------------------------------------------------- |
| Email        | текст (email) | Адрес пользователя.                                  |
| Токен сброса | текст (UUID)  | Должен совпадать с сохранённым токеном пользователя. |
| Новый пароль | текст         | Устанавливается стандартным способом платформа.      |

### Формат инициации сброса

*Валидирует входные данные шага инициации.*

| Поле  | Тип           | Описание            |
| ----- | ------------- | ------------------- |
| Email | текст (email) | Обязательный адрес. |

### Формат проверки кода

*Валидирует email и 6-значный код.*

| Поле    | Тип                      | Описание            |
| ------- | ------------------------ | ------------------- |
| Email   | текст (email)            | Обязательный адрес. |
| Код OTP | текст (ровно 6 символов) | Ровно 6 символов.   |

### Формат подтверждения пароля

*Валидирует токен, email и новый пароль по стандартным правилам платформа.*

| Поле         | Тип            | Описание                                         |
| ------------ | -------------- | ------------------------------------------------ |
| Токен сброса | текст          | Токен из шага проверки.                          |
| Email        | текст (email)  | Обязательный адрес.                              |
| Новый пароль | текст (мин. 8) | Проверяется стандартными валидаторами платформа. |
