• API и библиотеки
    API и библиотеки
  • Подключение кошелька WX Network
    Подключение кошелька WX Network
  • CCXT
    CCXT
  • Комиссии
    Комиссии
  • Матчер
    • Протокол WX Network
      Протокол WX Network
    • Комиссия матчера
      Комиссия матчера
    • Установка матчера на Ubuntu из Deb-пакета
      Установка матчера на Ubuntu из Deb-пакета
    • Настройки матчера
      Настройки матчера
    • API Матчера
      • Правила валидации ордера
        Правила валидации ордера
      • Правила валидации ExchangeTransaction
        Правила валидации ExchangeTransaction
      API Матчера
    • WebSocket API Матчера
      • Ошибки и отладка
        Ошибки и отладка
      • Common Streams
        Common Streams
      WebSocket API Матчера
    Матчер
  • API шлюза
    • Токен доступа
      • Получить токен в интерфейсе
        Получить токен в интерфейсе
      • POST /v1/oauth2/token
        POST /v1/oauth2/token
      Токен доступа
    • Внесение средств
      • [Deprecated] GET /v1/deposit/addresses/{currency}
        [Deprecated] GET /v1/deposit/addresses/{currency}
      • GET /v1/deposit/addresses/{currency}/{platform}
        GET /v1/deposit/addresses/{currency}/{platform}
      • GET /v1/deposit/currencies
        GET /v1/deposit/currencies
      • [Deprecated] GET /v1/deposit/currencies/{currency}
        [Deprecated] GET /v1/deposit/currencies/{currency}
      • GET /v1/deposit/currencies/{currency}/{platform}
        GET /v1/deposit/currencies/{currency}/{platform}
      • Terms of Deposit
        Terms of Deposit
      Внесение средств
    • Вывод средств
      • [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
        [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
      • GET /v1/withdraw/addresses/{currency}/{address}/{platform}
        GET /v1/withdraw/addresses/{currency}/{address}/{platform}
      • GET /v1/withdraw/currencies
        GET /v1/withdraw/currencies
      • [Deprecated] GET /v1/withdraw/currencies/{currency}
        [Deprecated] GET /v1/withdraw/currencies/{currency}
      • GET /v1/withdraw/currencies/{currency}/{platform}
        GET /v1/withdraw/currencies/{currency}/{platform}
      • Условия вывода
        Условия вывода
      Вывод средств
    • История операций
      История операций
    • Список платформ
      Список платформ
    • Коды ошибок
      Коды ошибок
    API шлюза
  • Получить список сделок (Get Trades)
    Получить список сделок (Get Trades)
  • Годовая процентная ставка стейкинга (API)
    Годовая процентная ставка стейкинга (API)
  • API платежей
    API платежей
  • API авторизации
    API авторизации
  • Протокол WX-токена
    Протокол WX-токена
  • Глоссарий
    Глоссарий
      • English
      • Русский
      On this page
        • Процесс
        • Детали

          # API авторизации

          Чтобы авторизовать пользователя в вашем сервисе с помощью его учетной записи WX Network, перенаправьте пользователя на официальное приложение WX Network (https://wx.network (opens new window)) с приведёнными ниже параметрами запроса, включая некоторые произвольные данные, которые пользователь должен подписать.

          Это необходимо для работы с личными данными пользователя, а также чтобы убедиться, что учетная запись из блокчейна принадлежит именно этому пользователю.

          # Процесс

          1. Вы размещаете на своём сайте ссылку вида:

            https://wx.network#gateway/auth?r=https://example.com&n=ServiceName&d=0123456789abc&i=/img/logo.png&s=/wavesAuth.
            

            где:

            r=https://example.com - URL вашего сервиса.

            n=ServiceName - имя вашего сервиса.

            d=0123456789abc - данные, подписанные закрытым ключом пользователя.

            i=/img/logo.png - путь, к логотипу вашего приложения.

            s=/wavesAuth - путь к методу, который перенаправляет пользователя в случае успешной подписи.

          2. При переходе по ссылке пользователь будет перенаправлен в официальное приложение WX Network для входа в систему.

          3. При входе в систему пользователь предоставляет вашему сайту доступ к своему адрес, а данные подписываются закрытым ключом пользователя.

          4. Затем пользователь перенаправляется обратно на ваш сайт вместе с подписью и открытым ключом пользователя.

          5. Вы проверяете достоверность подписи, сверяя её с данными, предоставленными пользователю.

          6. Если все сходится, пользователь будет аутентифицирован в вашем сервисе.

          # Детали

          Из-за ограничений длины строки запроса все параметры выражаются одним символом.

          # Запрос

          Пример:

          https://wx.network#gateway/auth?r=https://example.com&n=ServiceName&d=0123456789abc&i=/img/logo.png&s=/wavesAuth
          

          Основной путь - https://wx.network#gateway/auth. Далее идут параметры.

          # Referrer

          r=https://example.com — URL вашего сервиса. Только HTTPS. Обязательный параметр.

          # Name

          n=Service%20Name — имя вашего сервиса. Обязательный параметр.

          # Data

          d=randomChars — данные, подписанные закрытым ключом пользователя. Обязательный параметр.

          # Icon path

          i=/path/to/the/icon.png — путь относительно параметра Referrer. Содержит логотип вашего приложения. Необязательный параметр.

          # Success path

          s=/path/to/an/API/method — путь к методу, который перенаправляет пользователя в случае успешной подписи. По умолчанию пользователь перенаправляется в корень реферера. Необязательный параметр.

          # Debug mode

          debug=true — параметр для включения отображения сообщений об ошибках. Необязательный параметр.

          # Ответ

          Пример:

          https://example.com/?s=2w7QKSkxKEUwCVhx2VGrt5YiYVtAdoBZ8KQcxuNjGfN6n4fi1bn7PfPTnmdygZ6d87WhSXF1B9hW2pSmP7HucVbh&p=2M25DqL2W4rGFLCFadgATboS8EPqyWAN3DjH12AH5Kdr&a=3PCAB4sHXgvtu5NPoen6EXR5yaNbvsEA8Fj
          

          # Signature

          s=base58EncodedSignature — подпись данных, подписанных закрытым ключом пользователя.

          # Public key

          p=base58EncodedPublicKey — открытый ключ пользователя.

          # Address

          a=base58EncodedAddress — WX Network адрес пользователя.

          # Как проверить валидность подписей

          Подписанные данные состоят из трёх объектов: Prefix string + URL host + Provided Data. Подпись берётся из данных в следующем порядке: стока WavesWalletAuthentication, затем строка со параметрами вашего хоста, затем строка с параметрами ваших данных. Все строки конвертируются в length bytes + value bytes в качестве строки Data Transactions Prefix. Хост нужен в целях безопасности, на случай, если вредоносные сервисы попытаются использовать данные транзакции и подписи из Auth API.

          Мы рекомендуем использовать валидацию адреса на случай, если подпись и открытый ключ действительны, но адрес был подменен.

          Примеры кода приведены в документации Signer (opens new window).

          API платежей
          Протокол WX-токена
          API платежей
          Протокол WX-токена