Для того, чтобы стороннее приложение могло использовать ресурсы системы, его необходимо создать и авторизовать
...
Note | ||
---|---|---|
| ||
Вне зависимости от типа и уровня доступа приложения, в случае, если у пользователя, создавшего от имени которого приложение , access type установлен в делает запрос, установлен тип доступа read_only - приложению , то приложению будут разрешены только GET-запросы. При необходимости см. Пользователь |
После регистрации приложения системы выведет информацию о зарегистрированном приложении, в том числе сгенерированные App ID и App secret приложения, необходимые для авторизации.
...
- Пользователь разрешает или запрещает доступ приложению к системе от своего имени. Если пользователь не авторизован в системе, перед этим он проходит авторизацию с помощью логина и пароля.
Если пользователь разрешает доступ, то при последующих попытках авторизации запрос на доступ появляться не будет, до тех пор, пока пользователь явно не удалит разрешение. Если пользователь разрешает доступ, система перенаправляет пользователя на Redirect URL приложения, указанного при регистрации, предавая в качестве параметра запроса код для получения токена доступа.
Code Block GET https://<apphostname>/authorized?code=SpHCEr6qiCj1kZRTvEb36qZAqWqIHz
Приложение делает POST-запрос на сервер системы на URL https://<hostname>/oauth/token, для получения токена доступа, используя полученный код.
Code Block POST https://<hostname>/oauth/token
Параметры передаются в теле запроса в формате application/x-www-form-urlencoded.
Параметры запроса
ПараметрОписаниеgrant_type Всегда должен иметь значение authorization_code
code Параметр code, полученный приложением на предыдущем шаге
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, который может быть использован для регенерации токена доступа, когда он стал недействителен
...
Параметр | Описание |
access_token | Токен доступа. Используется приложением для API-запросов |
expires_in | Период времени в секундах, в течение которого токен действителен. Если в процессе использования токена возникла ошибка авторизации, рекомендуется запросить токен заново, даже если заявленное в поле expires_in время до истечения токена еще не прошло |
token_type | Тип токена всегда имеет значение Bearer |
...
Параметр | Описание |
access_token | Токен доступа. Используется приложением для API-запросов |
expires_in | Период времени в секундах, в течение которого токен действителен. Если в процессе использования токена возникла ошибка авторизации, рекомендуется запросить токен заново, даже если заявленное в поле expires_in время до истечения токена еще не прошло |
token_type | Тип токена всегда имеет значение Bearer |
refresh_token | Refresh token, который может быть использован для регенерации токена доступа, когда он стал недействителен |
...
Запросы к API будут выполняться от имени и с разрешениями пользователя, предоставившего доступ приложению. Если в процессе использования токена возникла ошибка авторизации, рекомендуется запросить токен заново, даже если заявленное в поле expires_in время до истечения токена еще не прошло.
Пример запроса на получение информации об авторизованном пользователе через программу curl:
curl -H "Authorization: Bearer 1sz9xnbNsgIXF5uGEeL0df2Iyec29W" https://hostname/api/ver1.0/user/
...
Параметр | Описание |
access_token | Токен доступа. Используется приложением для API-запросов |
expires_in | Период времени в секундах, в течение которого токен действителен. Если в процессе использования токена возникла ошибка авторизации, рекомендуется запросить токен заново, даже если заявленное в поле expires_in время до истечения токена еще не прошло |
token_type | Тип токена, всегда имеет значение Bearer |
refresh_token | Refresh token, который может быть использован для регенерации токена доступа, когда он стал недействителен |
...