Сервис аутентификации
Общая информация
Сервис предназначен для управления процессом аутентификации в административной панели через отправку и проверку SMS-кодов.
Эндпоинты
1. Отправка SMS для авторизации
Описание: Запрашивает отправку SMS для указанного номера телефона.
- URL:
/api/v1/admin/send-sms - Метод:
POST - Тело запроса:
{ "phone": "string" } - Ответы:
200 OK: Успешная отправка SMS.{ "success": true, "expireAt": 1234567890, "expireAtSeconds": 300 }400 Bad Request: Некорректный номер телефона или другие ошибки.500 Internal Server Error: Что-то пошло не так.
2. Проверка SMS-кода
Описание: Проверяет корректность SMS-кода для указанного номера телефона.
- URL:
/api/v1/admin/verify-sms - Метод:
POST - Тело запроса:
{ "phone": "string", "code": "string" } - Ответы:
200 OK: Успешная проверка кода.{ "success": true, "message": "string", "token": "string" }400 Bad Request: Некорректный код или номер телефона.500 Internal Server Error: Что-то пошло не так.
Логика работы
Сервисные методы
- sendSMS(phone): Отправляет SMS на указанный номер телефона, если он разрешён в списке
ALLOW_PHONESномеров разрешенных для входа в административную панель. ИспользуетuserHelper.normalizePhoneдля нормализации номера иsmsService.sendSMSдля отправки сообщения.- Если номер телефона не указан или не разрешён, выбрасывается ошибка.
- processSMS(phone, code): Проверяет валидность SMS-кода с помощью
smsService.verifySMS.- При успешной проверке возвращает сгенерированный токен с ролями
userиadmin. - Если код неверный, возвращает результат проверки.
- При успешной проверке возвращает сгенерированный токен с ролями