Как устроена платформа

Сервис авторизации: варианты авторизации

Сервис авторизации предусматривает два варианта авторизации для доступа к API-методам ноды:

  • авторизация по хэшу ключевой строки api-key;

  • авторизация по JWT-токену.

Выбрать вариант авторизации для доступа к API-методам можно в конфигурационном файле ноды в секции auth.

В зависимости от используемого метода авторизации, для доступа к API в запросах или окне авторизации Swagger указываются различные значения:

../../_images/authTypes.png
  • ApiKey or PrivacyApiKey (apiKey) – значение хэша ключевой строки api-key;

  • OAuth2 Bearer (apiKey) – значение access-токена.

Авторизация по хэшу ключевой строки api-key

Хэш заданной вами ключевой строки может быть получен при помощи утилиты ApiKeyHash, входящей в пакет генераторов. Также вы можете сгенерировать хэш ключевой строки самостоятельно, воспользовавшись методом POST /utils/hash/secure.

Пример запроса с авторизацией по хэшу api-key:

curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'X-API-Key: 1' -d '1' 'http://2.testnet-pos.com:6862/transactions/calculateFee'

Авторизация по JWT-токену

При использовании авторизации по протоколу oAuth, клиент для доступа к API-методам получает пару токенов - refresh и access. Токены можно получить через методы REST API сервиса авторизации.

Для регистрации пользователя используется метод POST ​/v1​/user. Для запроса передаются следующие параметры:

  • login – логин пользователя (адрес электронной почты);

  • password – пароль для доступа к аккаунту;

  • locale – выбор языка, на котором пользователю будет предоставляться информация на почту (возможные варианты: en и ru);

  • source – тип пользователя:

После регистрации пользователь получает возможность запрашивать токены refresh и access.

Для получения и обновления токенов авторизации используются следующие методы:

  1. POST ​/v1​/auth​/login – получение токена авторизации с использованием логина и пароля. Этот метод предназначен для авторизации пользователей.

  2. POST ​/v1​/auth​/token – получение refresh и access токенов авторизации для сервисов и приложений. Метод не требует параметров и в ответ на вызов присылает значения токенов. Метод может быть использовать только администратором сервиса авторизации.

  3. POST ​/v1​/auth​/refresh – обновление refresh токена. На вход передаётся значение токена.

Примечание

Для вызова некоторых методов REST API в JWT-токене пользователя должна быть зашифрована определенная роль авторизации.

Смотрите также