Обновление маркера доступа
Потребитель может обновить или уменьшить область доступа маркера доступа с помощью маркера обновления доступа.
Запрос
Потребитель отправляет HTTPS POST запрос на URI https://login.wmtransfer.com/oauth/api/v1/tokens. Запрос должен содержать параметры:
Поддерживаются 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 }