Микросервис otp-verifier

В статье описываются логика работы, функции, конфигурация и методы микросервиса otp-verifier.

Микросервис otp-verifier отправляет одноразовые пароли, необходимые для регистрации и авторизации в системе. Он также хранит информацию об отправленных кодах, осуществляет аудит данных и проверяет соответствие одноразового пароля отправленному коду.

Доступ к микросервису предоставляется по запросу.

В работе микросервиса участвует сущность Временный код, которая содержит данные для верификации пользователя по одноразовому паролю, который был отправлен через sms или звонок (номер телефона, код, время выдачи, истечение срока действия, количество попыток соответствия, тип отправки временного кода, область использования).

Не требуются.

/api/otp-verifier/

Параметры конфигурации указываются в Vault.

Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания.

По умолчанию

{
  "env": {
    "JAVA_XMS": "XXm",
    "JAVA_XMX": "YYYm",
    "LOGGING_LEVEL": "уровень_логирования",
    "POSTGRES_DATABASE": "otp_verifier",
    "POSTGRES_MIGRATION_USER": "otp_verifier_migration",
    "POSTGRES_PORT": "5432",
    "POSTGRES_USER": "otp_verifier_user",
    "SERVER_PORT": "порт_сервера"
  }
}

Copy-icon
Указываемые на каждом отдельном стенде

{
  "env": {
    "POSTGRES_HOST": "хост_бд",
    "POSTGRES_MIGRATION_PASSWORD": "пароль",
    "POSTGRES_PASSWORD": "пароль_бд"
  }
}

Copy-icon

Методы микросервиса Copy-icon

  • Проверка кода верификации пользователя - POST запрос, /v1/verify-by-otp
Request parameters

Отсутствуют.

Request body sample

{
  "phone": "+7(111)1111111",
  "otp": "1111",
  "usageType": "authorize"
}

Copy-icon
Response sample

{
  "verified": true
}

Copy-icon
Response codes
  • 200 - операция выполнена успешно, получены данные о проверке кода верификации
  • 400 - ошибка, неправильный запрос
  • 500 - ошибка, Internal Server Error
  • Отправка кода верификации пользователю - POST запрос, /v1/send-otp
Request parameters

Отсутствуют.

Request body sample

{
  "phone": "+7(111)1111111",
  "sendType": "sms",
  "usageType": "authorize"
}

Copy-icon
Response sample

{
   "nextAttemptTimestamp":1721912006,
   "nextAttemptDelay":30
}
Copy-icon
Response codes
  • 200 - операция выполнена успешно, код верификации отправлен пользователю
  • 400 - ошибка, неправильный запрос
  • 500 - ошибка, Internal Server Error

Связанные статьи

Микросервисы