Портал: настройка типов аутентификации (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