Регистрация пользователя в приложении
REGISTRATION-SERVICE является сервисом регистрации для golos.io и приложений.
Сервис предоставляет 4 типа стратегии регистрации, определяемые динамически:
smsFromUser
- Пользователь отправляет СМС на указанный номер для верификации, самый безопасный, но наименее удобный для пользователя способ.smsToUser
- Мы присылаем пользователю СМС с кодом, который он присылает нам, удобный и безопасный, но расточительный способ верификации.mail
- Верификация по почте (не реализовано в данной версии).social
- Верификация через соцсети (не реализовано в данной версии).
Также предоставляются способы динамического выбора стратегии для пользователя, определяемые на сервере, в том числе для A-B тестирования:
legacy
- Старый способ регистрации, пользователь всегда получит стратегиюsmsFromUser
.randomSmsStrategy
- Способ регистрации когда пользователи получают стратегииsmsFromUser
иsmsToUser
,при этом выбор происходит поочередно - первый пользователь получает одну стратегию, второй другую, третий снова первую и т.д.
В результате выходит распределение 50/50, но без выделения кагорт пользователей и какого-либо анализа при выборе.
directStrategy
- Жесткое указание стратегии для пользователя, которая будет использоваться им при регистрации.Дополнительно нужно отправить сопутствующие данные в формате
{strategy: <string(name)>}
, указывающие на имя стратегии.
При старте сервис выберет тип как legacy
, однако это можно поменять в настройках env
.
API JSON-RPC:
Возможные переменные окружения ENV
:
GLS_DAY_START
- время начала нового дня в часах относительно UTC. Дефолтное значение -3
(день начинается в 00:00 по Москве)GLS_MONGO_CONNECT
- строка подключения к базе MongoDB. Дефолтное значение -mongodb://mongo/admin
GLS_METRICS_HOST
(обязательно) - адрес хоста для метрик StatsD. Дефолтное значение при запуске без докера -127.0.0.1
GLS_METRICS_PORT
(обязательно) - адрес порта для метрик StatsD. Дефолтное значение при запуске без докера -8125
GLS_CONNECT_HOST
(обязательно) - адрес, который будет использован для входящих подключений связи микросервисов. Дефолтное значение -0.0.0.0
GLS_CONNECT_PORT
(обязательно) - адрес порта, который будет использован для входящих подключений связи микросервисов. Дефолтное значение -3000
GLS_SMS_VERIFY_EXPIRATION_HOURS
- время, за которое необходимо пройти верификацию по СМС, иначе аккаунт будет отправлен в архив и имя вместе с номером телефона будут освобождены. Дефолтное значение -1
(измеряется в часах)GLS_GOOGLE_CAPTCHA_SECRET
(обязательно) - секретный ключ Google для reCaptcha.GLS_SMS_RESEND_CODE_TIMEOUT
- время, через которое можно повторно запросить отправку СМС-кода. Дефолтное значение -45000
(измеряется в миллисекундах)GLS_SMS_RESEND_CODE_MAX
- максимальное количество попыток переотправки смс кода. Дефолтное значение -3
GLS_REGISTRAR_KEY
(обязательно) - активный ключ регистратора аккаунтов.GLS_REGISTRAR_ACCOUNT
(обязательно) - имя аккаунта регистратора аккаунтов.GLS_ACCOUNT_DELEGATION_FEE
- количество длелегируемой силы голоса при реристрации. Дефолтное значение -2.7
GLS_BALANCE_CHECK_INTERVAL
- интервал проверки на остаточный баланс на счету регистратора. Дефолтное значение -10000
(10 секунд)GLS_MIN_REGISTRATIONS_BEFORE_BANKRUPT
- минимальное количество пользователей, которые должны суметь зарегистрироваться на сайте если баланса станет не достаточно для продолжения регистраций. Дефолтное значение -5
GLS_FACADE_CONNECT
(обязательно) - адрес подключения к микросервису фасаду.GLS_SMS_CONNECT
(обязательно) - адрес подключения к микросервису sms-сообщений.GLS_IS_REG_ENABLED_ON_START
- флаг управления разрешением регистрации при запуске сервиса, необходимо выставить вfalse
если после запуска сервиса он должен запрещать регистрацию и ждать явного вызова метода управления, который её включит. Дефолтное значение -true
, после запуска сервис сразу разрешает пользователям регистрацию.GLS_DEFAULT_STRATEGY_CHOICER
- указывает на стартовый способ выбора стратегии регистрации, о возможных способах смотри в начале документации. Дефолтное значение -legacy
GLS_DEFAULT_STRATEGY_CHOICER_DATA
- дефолтные данные для параметра выше. Пустое значение будет воспринято какnull
, любое другое будет распарсено какJSON
. Дефолтное значение -` _(распарсится как
null`)_.GLS_CAPTCHA_ON
- флаг указывающий на необходимость фильтрации входящих запросов на регистрацию через капчу. Дефолтное значение -true
GLS_MAIL_CONNECT
(обязательно) - адрес подключения к микросервису рассылки почты.GLS_MAIL_FINISH_TEMPLATE_RU
(обязательно) - идентификатор шаблона письма регистрации с русской локалью.GLS_MAIL_FINISH_TEMPLATE_BY
(обязательно) - идентификатор шаблона письма регистрации с беларусской локалью.GLS_MAIL_FINISH_TEMPLATE_EN
(обязательно) - идентификатор шаблона письма регистрации с английской локалью.GLS_TESTING_PASS
- пароль для запросов, убирающий проверку капчи и упрощающий механизм верификации.GLS_MONGO_EXTERNAL_HOST
- адрес подключения к базе данных из внешних сервисов (например - метрики). Дефолтное значение при запуске в докере -127.0.0.1
GLS_MONGO_EXTERNAL_PORT
- порт подключения к базе данных из внешних сервисов (например - метрики). Дефолтное значение при запуске в докере -27017
Для запуска сервиса достаточно вызвать команду docker-compose up
в корне проекта, предварительно указав необходимые ENV
переменные.
Last updated