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
переменные.