2.1.3. OAuth

Previous pageReturn to chapter overviewNext page

В рамках сервиса также реализован авторизационный гейт на базе протокола OAuth 2.0.

Для начала работы с OAuth необходимо зарегистрировать приложение на стороне личного кабинета сервиса "Такском-Касса" и прописать ему права на доступ к авторизации с помощью OAuth. На данный момент эта операция производится вручную, по запросу интегратора. Необходимо связаться с разработчиками компании "Такском" и сообщить о своем желании использовать OAuth для авторизации в API.

Авторизация через авторизационный гейт OAuth происходит в два этапа.

1.Ссылка для пользователя для прохождения авторизации через OAuth:

HTTP-запрос:

HTTP-Method: GET

Адрес запроса (URI)

https://auth-<server>.taxcom.ru/core/connect/authorize

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

client_id

Публичный идентификатор внешнего приложения, полученный при регистрации

response_type

Тип ответа, поддерживается значение "code"

scope

Набор прав доступа, требуемых приложению для работы. На данный момент реализуется единственное право – "api"

redirect_url

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

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

clip0001

Финальным шагом этой операции будет редирект на адрес, указанный в первом пункте в параметре redirect_url. Одним из параметров запроса при редиректе будет:

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

code

Одноразовый код для получения маркера доступа к API

2.При обработке редиректа со стороны сервера нужно сделать запрос, по которому, имея полученный при редиректе в качестве параметра код, можно получить маркер доступа к API.

HTTP-запрос:

HTTP-Method: POST

Адрес запроса (URI)

https://<server>.taxcom.ru/core/connect/token

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

grant_type

Тип подтверждения прав, указывается значение “authorization_code”

code

Код, полученный от сервера на предыдущем шаге

redirect_uri

Адрес, на который было совершено перенаправление после авторизации, должен совпадать с путем из пункта 1.

Заголовок запроса

Authorization:clientId:Secret

clientId = Публичный IDентификатор внешнего приложения, полученный при регистрации

secret – закрытый ключ приложения, полученный при регистрации

Строка clientId:Secret конвертируется в Base64

Ответ

{"access_token":"9eca5bce0a2a21aaff4b09901b92333a","expires_in":3600000,"token_type":"Bearer"}

Маркер, полученный в поле access_token, в дальнейшем используется в качестве маркера временного доступа при работе с API. Время жизни маркера можно оговаривать при регистрации, а также его можно продлять с помощью специального метода продления времени жизни маркера доступа.