/ic/sso/api/v2/oauth/user-info
Запрос позволяет получить информацию о клиенте в ID token. GET-запрос должен содержать токен доступа (access_token) пользователя в параметре Authorization заголовка.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/ic/sso/api/v2/oauth/user-info
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
GET /ic/sso/api/v2/oauth/user-info HTTP/1.1
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678fd
Responses
200 (OK)
- Модель
- ID token
- Структура
Параметр | Описание |
---|---|
HEADER | |
typ | Тип токена |
alg | Алгоритм шифрования |
PAYLOAD | |
aud | Идентификатор платформы, для которого сформирован ID Token |
iss | URL сервиса, сформировавшего ID Token |
sub | Уникальный идентификатор пользователя |
Значения атрибутов (claim) | которые указали в Scope в ссылке запроса /v2/oauth/token |
SIGNATURE | |
Массив байт электронной подписи | Проверка электронной подписи, полученной в ID Token (содержимое ответа ID Tokena после второй точки), выполняется, используя алгоритм, указанный в параметре заголовка JWT alg. Платформе необходимо проверить подпись сертификатом Банка |
eyJ0eXAiOiJKV1QiLCJhbGciOiJnb3N0MzQuMTAtMjAxMiJ9.eyJzdWIiOiI2MjA2Mjg1NDA5ZmNjMjhjZDFmOTZhZjg4MGI1ZjkyNDJiYjZjZGU2NmU3ZGRkZmRmZDNjZGU0YzcyMzcyZWQxIiwib3JnS3BwIjoiNjgzODAxOTEwIiwiaXNzIjoiaHR0cHM6Ly9lZnMtc2Jib2wtaWZ0LXdlYi50ZXN0c2JpLnNiZXJiYW5rLnJ1Ojk0NDMvaWMiLCJpbm4iOiI3Mzc5MTkwNTIyIiwib3JnSnVyaWRpY2FsQWRkcmVzcyI6IjEyNzY0NCwg0LMu0JzQvtGB0LrQstCwLCDQsS3RgC4g0JrQsNGA0LXQu9GM0YHQutC40LksINC00L7QvCA1LCDQutC-0YDQvy4gMSwg0L7RhC4gMjQwIiwiT3JnTmFtZSI6ItCi0JXQodCiOTAzNiIsIm9yZ0Z1bGxOYW1lIjoi0KLQldCh0KI5MDM2IiwiYnV5T25DcmVkaXRNbWIiOnRydWUsImluZGl2aWR1YWxFeGVjdXRpdmVBZ2VuY3kiOjEsInRlckJhbmsiOiLQo9Cg0JDQm9Cs0KHQmtCY0Jkg0JHQkNCd0Jog0J_QkNCeINCh0LHQtdGA0LHQsNC90LoiLCJ1c2VyQ3J5cHRvVHlwZSI6IlNNUyIsImF1ZCI6IjkyMjMzNzY0NTY3Mzk2Iiwic3VtbU9mZmVyU21hcnRDcmVkaXQiOjAsIm9yZ0xhd0Zvcm1TaG9ydCI6ItCe0J7QniIsIm9yZ09ncm4iOiIxMjM4MjE1OTQ1NjM3Iiwib3JnQWN0dWFsQWRkcmVzcyI6IjEyNzY0NCwg0LMu0JzQvtGB0LrQstCwLCDQsS3RgC4g0JrQsNGA0LXQu9GM0YHQutC40LksINC00L7QvCA1LCDQutC-0YDQvy4gMSwg0L7RhC4gMjQwIiwiSGFzaE9yZ0lkIjoiNmU3Y2U2NTgyZDMwMTkwZmRmYzAxMTExMDY4ZWNjMjNlMmRkY2QzZWFkYTBhNjA3MzU3ZTEwNDg4NWZmYjI3ZCIsIm9mZmVyU21hcnRDcmVkaXQiOmZhbHNlLCJuYW1lIjoi0KTQsNC8MDQg0JjQvNGPMDQg0J7RgtGHMDQiLCJ1c2VyUG9zaXRpb24iOiLQlNC40YDQtdC60YLQvtGAIiwiaGFzQWN0aXZlQ3JlZGl0TGluZSI6ZmFsc2UsInBob25lX251bWJlciI6Ijc0NDIwMDI0ODk2Iiwib3JnTGF3Rm9ybSI6ItCe0LHRidC10YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40YfQtdC90L3QvtC5INC-0YLQstC10YLRgdGC0LLQtdC90L3QvtGB0YLRjNGOIiwiZW1haWwiOiJoaHlhVUBDbmduRS5EQiJ9.IhE9hwMISp3vcxuW7lRctZC2vXLPfIUPIisYgrqoEiAEaKx0T7uFQk_W1jD1oJ1j_bDBWbvVYOF7nT8zMDX8yw
Заголовок. Алгоритм и тип токена:
{
"typ": "JWT",
"alg": "gost34.10-2012"
}
Полезная нагрузка:
{
"sub": "6206285409fcc28cd1f96af880b5f9242bb6cde66e7dddfdfd3cde4c72372ed1",
"orgKpp": "683801910",
"iss": "https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443/ic",
"inn": "7379190522",
"orgJuridicalAddress": "127644, г.Москва, б-р. Карельский, дом 5, корп. 1, оф. 240",
"OrgName": "ТЕСТ9036",
"orgFullName": "ТЕСТ9036",
"buyOnCreditMmb": true,
"individualExecutiveAgency": 1,
"terBank": "УРАЛЬСКИЙ БАНК ПАО Сбербанк",
"userCryptoType": "SMS",
"aud": "92233764567396",
"summOfferSmartCredit": 0,
"orgLawFormShort": "ООО",
"orgOgrn": "1238215945637",
"orgActualAddress": "127644, г.Москва, б-р. Карельский, дом 5, корп. 1, оф. 240",
"HashOrgId": "6e7ce6582d30190fdfc01111068ecc23e2ddcd3eada0a607357e104885ffb27d",
"offerSmartCredit": false,
"name": "Фам04 Имя04 Отч04",
"userPosition": "Директор",
"hasActiveCreditLine": false,
"phone_number": "74420024896",
"orgLawForm": "Общество с ограниченной ответственностью",
"email": "hhyaU@CngnE.DB"
}
Электронная подпись:
<Массив байт электронной подписи>
400 (Bad request)
error | error_description | Описание причины |
---|---|---|
invalid_request | Missing authorization header | Отсутствует обязательный параметр заголовка Authorization |
invalid_request | Incorrect authorization method | В параметре заголовка Authorization указан некорректный тип (добавить Bearer) |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
error | string | required | Ошибка запроса |
error_description | string | required | Описание ошибки |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"error": "invalid_request",
"error_description": "Missing authorization header."
}
401 (Unauthorized Error)
error | error_description | Описание причины |
---|---|---|
invalid_token | Access Token <значение полученного токена> not found | Переданный токен не найден. Например, потому что истек срок его действия или пользователь отозвал согласие на передачу данных |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
error | string | required | Ошибка запроса |
error_description | string | required | Описание ошибки |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"error": "invalid_token",
"error_description": "Access Token 'xbgKDVrgf756ghi789jk452DmaNKFtEpdqr678' not found."
}
403 (Forbidden)
errorCode | errorMsg | Описание причины |
---|---|---|
requestForbidden | The server configuration prohibits executing a request to the endpoint {0} | На данном сервере запрещен вызов указанного ресурса. Например, вызов ресурса /v2/oauth/token осуществляется на домен https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443 , а должен осуществляться на домен https://iftfintech.testsbi.sberbank.ru:9443 |
certificateNotFound | The certificate was not whitelisted for client_id={0} | Не пройдена проверка сертификата по белому списку |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | required | Ошибка запроса |
errorMsg | string | required | Описание ошибки |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"errorCode": "requestForbidden",
"errorMsg": "The server configuration prohibits executing a request to the endpoint {0}"
}
406 (Not acceptable)
error | error_description | Описание причины |
---|---|---|
SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION | JSON | В соответствии с текущими настройками платформы необходимо запрашивать ответ в формате JSON |
SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION | JWE Compact Serialization | В соответствии с текущими настройками платформы необходимо запрашивать ответ в формате JWE Compact Serialization |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
error | string | required | Ошибка запроса |
error_description | string | required | Описание ошибки |
} |
HTTP/1.1 406 Not acceptable
Content-Type: application/json;charset=UTF-8
{
"error": "SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION",
"error_description": "JSON"
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice{ | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
json HTTP/1.1 429 Too Many Requests Content-Type: application/json;charset=UTF-8
{ "cause": " TOO_MANY_REQUESTS ", "referenceId": "5650c1e4-5039-4038-8cad-afab64003f61", "message": " Превышен лимит запросов. Повторите операцию позже" }
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
ID token (/user-info)
Этот токен содержит информацию о клиенте, представлен в виде JSON Web Token (JWT) и структурой:
- Алгоритм подписи и тип токена (Header);
- Полезная нагрузка (Payload);
- Электронная подпись (Signature).
Каждая часть ответа, разделенная точкой, должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.
При необходимости вы можете настроить процесс проверки подлинности данных. Для этого необходимо вычислить подпись публичным ключом Банка, декодировав блок Header и Payload (содержимое между двумя точками). Далее сравнить полученное значение c блоком Электронная подпись (содержимое после второй точки).