Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Токен доступа (access token) имеет ограниченное время жизни (передается в параметре expires_in). При авторизации публичных (public) и авторизуемых по паролю (password_credentials) приложений существует возможность регенерировать токен доступа, используя токен регенерации (refresh token). Этот подход позволяет получить новый токен доступа по истечении старого без участия пользователя, так как при регенерации токена доступа с помощью токена регенерации не требуются какие-либо действия от пользователя. Для приложений типа trusted токен регенерации отсутствует.

Токен регенерации также имеет ограниченное время жизни, и если регенерация токена не удалась (система ответит за запрос кодом 401 и сообщением "invalid_grant" в поле error), приложению необходимо повторно осуществить авторизацию.

Для получения токена доступа с помощью токена регенерации приложение должно сделать POST-запрос на URL https://<hostname>/oauth/token. Параметры передаются в теле запроса в формате application/x-www-form-urlencoded.

POST https://<hostname>/oauth/token

Параметры запроса

Параметр

Описание

grant_type

Всегда должен иметь значение refresh_token

refresh_token

Значение refresh_token, полученное с токеном, который требуется регенерировать

redirect_uri

URI, по которому система будет посылать ответ. Должен совпадать с указанным при создании приложения

client_id

App ID, сгенерированный при создании приложения

client_secret

App Secret, сгенерированный при создании приложения

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

Параметр

Описание

access_token

Токен доступа. Используется приложением для API-запросов

expires_in

Период времени в секундах, в течение которого токен действителен. Если в процессе использования токена возникла ошибка авторизации, рекомендуется запросить токен заново, даже если заявленное в поле expires_in время до истечения токена еще не прошло

token_type

Тип токена, всегда имеет значение Bearer

refresh_token

Refresh token, который может быть использован для регенерации токена доступа, когда он стал недействителен

Пример

curl -L -X POST 'https://<hostname>/oauth/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=L40pLFI9hgoРlp0lFHNAvPUt0К9K0С' \
--data-urlencode 'client_id=a80f1e618ddd4d4584e2bd18fd464194' \
--data-urlencode 'client_secret=a2423941f5be408c998d5f7287570990' \
--data-urlencode 'redirect_uri=https://testsite.com'

Ответ системы:

{
  "access_token": "pyt4ZUcLWc2FP3t10OJUN2N4Xh2qes",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "L40pLFI9hgoРlp0lFHNAvPUt0К9K0С"
}

← Запросы к API с токеном доступа

  • No labels