Auth service является сервисом для авторизации запросов к CyberWay. Для работы сервису необходим совместимый фасад-сервис, осуществляющий конечное общение с системой.
Микросервис реализует два метода:
-
'auth.authorize': принимает параметр вида
{ user, sign, secret, channelId }и возвращает данные вида{ user, roles: []}либо ошибку авторизации. Авторизация происходит следующим образом: сначала проверяется, соответствует ли значение параметраsecret(в виде буфера) тому, что уже хранится для этогоchannelIdи проверяется, верифицирована ли подпись по этому ключу. Если да, то авторизация считается успешной. Иначе, будет возвращена ошибка авторизации. -
'auth.generateSecret': принимает параметр вида
{ channelId }и возвращает сгенерированный секрет. Секрет представляет собой строку, содержащую восьмиричный хешsha1, рассчитанный для строки, состоящей изchannelIdи рандомной строки в качестве "соли"
Описание принимаемых параметров:
| Параметр | Тип | Описание |
|---|---|---|
user |
string | Имя пользователя |
channelId |
string | Идентификатор канала передачи данных, указывающий, по какому каналу нужно будет передать ответ |
secret |
string | Секрет, который подписывался |
sign |
string | Подпись для транзакции |
Возможные переменные окружения ENV:
-
GLS_CONNECTOR_HOST(обязательно) - адрес, который будет использован для входящих подключений связи микросервисов.
Дефолтное значение -0.0.0.0 -
GLS_CONNECTOR_PORT(обязательно) - адрес порта, который будет использован для входящих подключений связи микросервисов.
Дефолтное значение -3000 -
GLS_METRICS_HOST(обязательно) - адрес хоста для метрик.
Дефолтное значение при запуске без докера -0.0.0.0 -
GLS_METRICS_PORT(обязательно) - адрес порта для метрик.
Дефолтное значение при запуске без докера -9777 -
GLS_CYBERWAY_HTTP_URL(обязательно) - строка коннекта к блокчейну
Для запуска достаточно вызвать команду docker-compose up --build в корне проекта, предварительно указав необходимые ENV переменные.