WebMoney

Обновление маркера доступа

Потребитель может обновить или уменьшить область доступа маркера доступа с помощью маркера обновления доступа.

Запрос

Потребитель отправляет HTTPS POST запрос на URI https://login.wmtransfer.com/oauth/api/v1/tokens. Запрос должен содержать параметры:

Название Назначение
grant_type нужно указывать refresh_token
refresh_token маркера обновления доступа
scope необязательно, новая область действия (должна быть не шире чем, область действия refresh_token)

Поддерживаются Basic и Digest схемы аутентификации потребителя.

Пример запроса:

POST /oauth/api/v1/tokens HTTP/1.1
Host: login.wmtransfer.com
Authorization: Basic Nzk5Q25YaWNHMldmckZ2ajpxRkU3UFhFR1J3Y0d3UDQ1WktVUlhNRGZ6M2pMVnhmZQ==
Content-Type: application/x-www-form-urlencoded

grant_type=grant_type&grant_type=MnT8tDhFZiz9FEom3onEBaXFJtnCYvH8

Ответ

Сервер проверяет аутентификационные данные запроса, авторизационный код и URI обратного вызова. Если все верно, то возвращает ответ, содержащий:

Описание полей

Название Назначение
access_token новый маркер доступа
token_type тип маркера доступа, всегда "bearer"
expires_in оставшееся время действия
refresh_token маркер обновления авторизации, необязательно
scope область действия

Примеры ответов

Успех:

HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Cache-Control: no-store
Pragma: no-cache

{
  "access_token": "5UCfwiRY2NfKFN6nN6xopvYQRVFF38Fz",
  "token_type": "bearer",
  "expires_in": "599",
  "refresh_token": null,
  "scope": "scope1 scope2"
}

Использован неверный секрет потребителя:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=utf-8
Cache-Control: no-store
Pragma: no-cache

{
  "error": "invalid_client",
  "error_description": "Ошибка аутентификации потребителя (например, неизвестный потребитель, данные аутентификации не включены в запрос, или не поддерживается метод аутентификации).",
  "error_uri": null,
  "state": null
}

Смотри также