Документация по авторизации
1. Бэкенд
1.1. Маршруты для смс-авторизации для админки
**POST **/api/v1/admin/send-sms
- Описание: Отправка SMS кода на номер пользователя. Номер должен быть добавлен в список ALLOW_PHONES для доступа в админку.
- Схема запроса:
{
"phone": "string"
}
**POST **/api/v1/admin/verify-sms
- Описание: Проверка введенного кода.
- Схема запроса:
{
"phone": "string",
"code": "string"
}
1.2 Модуль sms
Описание
Модуль sms отвечает за отправку и проверку SMS с помощью стороннего сервиса smsc.ru.
Методы модуля sms
sendSMS(phone):- Описание: Отправляет SMS с кодом на указанный номер телефона.
verifySMS(phone, code):- Описание: Проверяет корректность кода для номера телефона.
- Примечание: Отправленные коды хранятся б базе в таблице sms.
2. Фронтенд
2.1 Workflow авторизации для пользователей
Примечание: для запросов на авторизацию используется yandex captcha, поэтому с запросом на бек должен отправляться валидный токен капчи.
- Пользовательский сценарий:
- Пользователь заходит на сайт.
- При выполнении действий, требующих авторизацию (например, добавление товара в корзину или переход в личный кабинет), показывается окно авторизации.
- В окне авторизации пользователь вводит номер телефона.
- Отправляется запрос на бэкенд по маршруту
/api/v1/sms/send-sms/:phoneдля отправки SMS через сервис smsc.ru. - Пользователю показывается следующее окно для ввода кода из SMS.
- Код проверяется через маршрут
/api/v1/sms/verify-sms. В случае успешной проверки возвращается токен авторизации.
Данные запроса:{ "phone": "string", "code": "string" }
**Описание**: номер телефона пользователя и код из SMS.