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

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

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

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

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

В зависимости от используемого метода авторизации, для доступа к 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 - тип пользователя: * license - владелец лицензии на использование блокчейн-платформы; * voting - пользователь сервиса голосования Waves Enterprise Voting.

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

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

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

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

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