Авторизация
Запрос кода авторизации
Данная операция выполняется в качестве первой операции в процессе сквозной авторизации. Партнерский сервис НЕ ДОЛЖЕН вызывать операцию в рамках взаимодействия server-to-server, а просто выполнить выполнить перенаправление сессии браузера в которой работает пользователь на указанный URL с передачей всех необходимых параметровПараметры
Наименование | Описание |
---|---|
response_type
*
|
Тип запроса. Значение должно быть всегда
code .
Это ограничение согласно требованию по обеспечению безопасности, разрешающее использовать исключительно AuthCode Flow
|
scope
*
|
Объем прав, выдаваемых партнерскому сервису при предоставлении токена.
Значение либо
openid (если не обговорено отдельно), либо к openid добавляется через пробел наименование дополнительной области сведений (по договоренности).
|
client_id
*
|
Идентификатор партнерского сервиса, полученный при регистрации.
|
redirect_uri
*
|
URL-encoded строка, содержащая URL на который будет перенаправлен пользователь после завершения процесса авторизации.
Этот URL должен совпадать (по маске) со значением, указанным при регистрации сервиса
|
state
*
|
Параметр используемый для хранения в сериализованном виде контекста(состояния) партнерского сервиса
(например, набора параметров идентифицирующих запрос авторизации).
В том числе используется для предотвращения CSRF-атак.
В случае если хранение состояния не требуется, партнерский сервис должен обспечить генерацию произвольной уникальной строки state
для данного запроса
|
nonce
*
|
Это значение используется для защиты от атак с повторением токенов (replay attack) .
Значение, указанное в запросе должно соответствовать nonce значению, возвращаемому в составе ID Token.
Значение nonce должно быть уникальным в сеансе пользователя и сложным для угадывания
|
Ответы
HTTP Код | Описание |
302 |
В случае успешного выполнени авторизации пользователя сессия браузера будет перенаправлена
по адресу, указанному в
redirect_uri к URL которого будут добавлены следующие параметры в адресной строке
https://seeneco-partner-service.ru/oauth/api/client?code=abcd-1234-fegh&state=some-complex-client-state&nonce=qwert-12313-yuio
Партнерский сервис должен выполнить следующие проверки на своей стороне при получении данного запроса
code на токен.
|
400 |
Получен некорректный запрос. Данный ответ возвращается в одном из следующих случаев
|
500 |
Внутренняя ошибка сервера. Подробная информация в разделе
Обработка общих ошибок
|
Получение OAuth токена
Данная операция позволяет получить токен доступа (access token) в обмен на один из следующих артефактов- Код авторизации, полученный в рамках процесса сквозной авторизации.
- Refresh_token, полученный вместе с access_token ранее при вызове этого API
Параметры
Наименование | Описание |
---|---|
grant_type
*
|
Тип разрешения на основании которого производитя выдача токена.
|
client_id
*
|
Идентификатор партнерского сервиса, полученный при регистрации.
|
client_secret
*
|
Секретный ключ партнерского сервиса, полученный при регистрации.
|
code
|
Необходимо передавать этот параметр только в случае
grant_type = authorization_code
Авторизационный код, полученный в результате запроса авторизации, направленного по адресу /authorize
|
redirect_uri
|
Необходимо передавать этот параметр только в случае
grant_type = authorization_code
URL-encoded строка, содержащая URL на который будет перенаправлен пользователь после завершения процесса авторизации.
Этот URL должен совпадать (по маске) со значением, указанным при регистрации сервиса
|
refresh_token
|
Необходимо передавать этот параметр только в случае
grant_type = refresh_token
Значение refresh_token полученное в ответ на предыдущий запрос токена.
|
Ответы
HTTP Код | Описание |
200 |
Успешное завершение операции. В ответе содержится набор токенов, которые могут быть использованы для работы с API
Ответ представлен в формате объекта Ответ на запрос Access Token
Пример ответа
{ "token_type": "Bearer", "expires_in": 3600, "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ0ZXN0LWNsaWVudCIsInN1YiI6IjEwMDAwIiwiaXNzIjoiaHR0cHM6Ly9zZWVuZWNvLmNvbSIsImV4cCI6MTU5NjE4NTA3NywiaWF0IjoxNTY0NjQ5MDc3fQ.Q-ZEMHjYV2oagjl3uMWUam_LxGpIIRZq9f7qPKMXsbc", "access_token": "jLu0sjZI34REkJa0OpHJNfMwvJqnSCaodn9Gf94akM7H9S02KrNG65rZIiD3cEIhE8kzE1CQlzjgG96sUlzdOJO3D8tsBqjf0LulmOMC3Ab0vGYwNETNBaKuzs9icmEWvcEvJ36tAXP9xCRJp9bliKJwKBAWajgCN6kedN92DwKC8nIkBw4BGiw46IFzgiKCnIVc23nSc3n10gpQpNOqjC1wnhLT7MuXQQINKH13pv1QvYVdKphJ78H58BZ854n5", "refresh_token": "qWdPk6WeSZWxqRyEzSf7aFb6I3PGELo1MUwub6763ca1UppgXnYKiBiZ1mcaGmBLj9A8yfyWLVVNFr9J060NOWtAVu043kzjCgYXKQlby1vYl7duO43Q2r2YAshq8Vs8H2buBD8N6IqXM9GsQj2eMYiV4makLeIULyc6MUUpNA1NZJeriZPXrR2oX8aawIKdBZKqNopOKECvIZ27rxo5hf5jXQzgcSp1c9ZQ2DncRfbFmzRhXe6BkDLOhH9EdFUD" } |
400 |
Получен некорректный запрос. Данный ответ возвращается в одном из следующих случаев
|
500 |
Внутренняя ошибка сервера. Подробная информация в разделе
Обработка общих ошибок
|
Получение информации о пользователе
Данная операция позволяет получить информацию о пользователе, которому был выдан Access token, переданный в заголовке запроса ВАЖНО! Операция работает только при использовании OAuth Access token, полученного в рамках сквозой авторизации. Для токенов с типом API-ключ операция вернет ошибкуПараметры
Наименование | Описание |
---|---|
Authorization
*
|
Заголовок авторизации со значением
Bearer Значение_Access_Token . Подробнее в разделе Аутентификация
|
Ответы
HTTP Код | Описание |
200 |
Успешное завершение операции. В ответе содержится информация о пользователе которому был выдан токен
Ответ представлен в формате объекта Информация о пользователе
Пример ответа
{ "sub": "10000", "username": "Петрушкин Андрей Иванович", "email": "ostapenko@angrydev.ru", "phone": "+79161234567", "org_uid": "10000", "org_name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"СТРОЙИНВЕСТ\"", "org_taxcode": "7706656855", "org_additional_taxcode": "770101001" } |
401 |
Ошибка авторизации вызова. Подробная информация в разделе
Обработка общих ошибок
|
500 |
Внутренняя ошибка сервера. Подробная информация в разделе
Обработка общих ошибок
|