Aвторизации запросов

Auth service является сервисом для авторизации запросов к CyberWay. Для работы сервису необходим совместимый фасад-сервис, осуществляющий конечное общение с системой.

Основное

Микросервис реализует два метода:

  • 'auth.authorize': принимает параметр вида { user, sign, secret, channelId } и возвращает данные вида { user, roles: []} либо ошибку авторизации. Авторизация происходит следующим образом: сначала проверяется, соответствует ли значение параметра secret (в виде буфера) тому, что уже хранится для этого channelId и проверяется, верифицирована ли подпись по этому ключу. Если да, то авторизация считается успешной. Иначе, будет возвращена ошибка авторизации.

  • 'auth.generateSecret': принимает параметр вида { channelId } и возвращает сгенерированный секрет. Секрет представляет собой строку, содержащую восьмиричный хеш sha1, рассчитанный для строки, состоящей из channelId и рандомной строки в качестве "соли"

API JSON-RPC

Описание принимаемых параметров:

Переменные окружения

Возможные переменные окружения 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 переменные.

Last updated