Skip to main content

Портал: настройка типов аутентификации (SMS gateway)

Работа с типами аутентификации на портал бекенде

Для работы аутентификаций требуется интеграция с сервисами рассылки, обзвона и тп для отправки пользователю некоторого одноразового кода.

И наиболее простой сценарий, выбранный в wimark - интеграция посредством HTTP API с помощью шаблонного URL. Так уж вышло, что отправить СМС или осуществить звонок можно через HTTP GET, на этом мы и остановилить (даже СМС гейтвеи операторские, типа Протей, умеют в HTTP GET API).

Настройка осуществляется путем изменения переменных окружения, указанных обычно в файле docker-compose в описании сервиса portal-backend.

Где настраивать

Настройку необходимо менять в файле /etc/wimark/one/docker-compose.yml (в случае установки standalone контроллера), либо в /etc/wimark/master/docker-compose.yml (в случае 1+1, на обоих узлах).

Настройка в сервисе portal-backend.

Как настроить

Следует настраивать пару параметров в ENV var, представляющих из себя списки:

  • AUTHEN_TYPES - через запятую - типы аутентификации
  • AUTHEN_GWS - через запятую - шаблонные URL API для использования

Длина списков должна совпадать!

В каждом шаблонном URL бекендом меняются параметры:

  • {MESSAGE} - на актуальный из настроек Портального профиля
  • {PHONE} - в общем виде идентификатор клиента (и да, это может быть email)

Важно !! чтобы {MESSAGE} тоже был как бы шаблоном и в себе содержал {CODE}, который будет заменен на OTP клиента при отправке.

Типы аутентицикации которые можно настраивать

  • "sms" - посылка СМС кода (sms.ru / smsc.ru)
  • "callback" - отправка кода через звонок пользователю (в MSISDN или диктовка)
  • "callfront" - генерация номера с ожиданием ответа (sms.ru)
  • "email" - просто email (например для тестов)

Примеры

AUTHEN_TYPES: email,sms,callback
AUTHEN_GWS: https://api.telegram.org/botXXXXXX:YYYYYYY/sendMessage?chat_id=-339656633&text={PHONE}%20{MESSAGE},https://api.telegram.org/botXXXXXX:YYYYYYY/sendMessage?chat_id=-339656633&text={PHONE}%20{MESSAGE},https://api.telegram.org/botXXXXXX:YYYYYYY/sendMessage?chat_id=-339656633&text={PHONE}%20{MESSAGE}
AUTHEN_TYPES: sms
AUTHEN_GWS: https://sms.ru/sms/send?api_id=YOUR-CODE-HERE&to={PHONE}&msg={MESSAGE}&json=1