Документация по авторизации

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, поэтому с запросом на бек должен отправляться валидный токен капчи.

  • Пользовательский сценарий:
    1. Пользователь заходит на сайт.
    2. При выполнении действий, требующих авторизацию (например, добавление товара в корзину или переход в личный кабинет), показывается окно авторизации.
    3. В окне авторизации пользователь вводит номер телефона.
    4. Отправляется запрос на бэкенд по маршруту /api/v1/sms/send-sms/:phone для отправки SMS через сервис smsc.ru.
    5. Пользователю показывается следующее окно для ввода кода из SMS.
    6. Код проверяется через маршрут /api/v1/sms/verify-sms. В случае успешной проверки возвращается токен авторизации.
      Данные запроса:
      {
        "phone": "string",
        "code": "string"
      }
      
    **Описание**: номер телефона пользователя и код из SMS.