ym88659208ym87991671
Получение информации о пользователе (user-info) | Документация для разработчиков

Получение информации о пользователе (user-info)

Обновлено 29 ноября 2024

Alt text /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
Authorizationstringstring^[a-zA-Z0-9]{38}$requiredAccess token пользователя, полученный через SSO.

Responses

200 (OK)

ПараметрОписание
HEADER
typТип токена
algАлгоритм шифрования
PAYLOAD
audИдентификатор платформы, для которого сформирован ID Token
issURL сервиса, сформировавшего ID Token
subУникальный идентификатор пользователя
Значения атрибутов (claim)которые указали в Scope в ссылке запроса /v2/oauth/token
SIGNATURE
Массив байт электронной подписиПроверка электронной подписи, полученной в ID Token (содержимое ответа ID Tokena после второй точки), выполняется, используя алгоритм, указанный в параметре заголовка JWT alg. Платформе необходимо проверить подпись сертификатом Банка

400 (Bad request)

errorerror_descriptionОписание причины
invalid_requestMissing authorization headerОтсутствует обязательный параметр заголовка Authorization
invalid_requestIncorrect authorization methodВ параметре заголовка Authorization указан некорректный тип (добавить Bearer)
НаименованиеТипОбязательностьОписание
{
errorstringrequiredОшибка запроса
error_descriptionstringrequiredОписание ошибки
}

401 (Unauthorized Error)

errorerror_descriptionОписание причины
invalid_tokenAccess Token <значение полученного токена> not foundПереданный токен не найден. Например, потому что истек срок его действия или пользователь отозвал согласие на передачу данных
НаименованиеТипОбязательностьОписание
{
errorstringrequiredОшибка запроса
error_descriptionstringrequiredОписание ошибки
}

403 (Forbidden)

errorCodeerrorMsgОписание причины
requestForbiddenThe 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
certificateNotFoundThe certificate was not whitelisted for client_id={0}Не пройдена проверка сертификата по белому списку
НаименованиеТипОбязательностьОписание
{
errorCodestringrequiredОшибка запроса
errorMsgstringrequiredОписание ошибки
}

406 (Not acceptable)

errorerror_descriptionОписание причины
SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTIONJSONВ соответствии с текущими настройками платформы необходимо запрашивать ответ в формате JSON
SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTIONJWE Compact SerializationВ соответствии с текущими настройками платформы необходимо запрашивать ответ в формате JWE Compact Serialization
НаименованиеТипОбязательностьОписание
{
errorstringrequiredОшибка запроса
error_descriptionstringrequiredОписание ошибки
}

429 (Too Many Requests)
CauseMessageDescription
TOO_MANY_REQUESTSПревышен лимит запросов. Повторите операцию позже.Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее
НаименованиеТипОбязательностьОписание
Notice{
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)

CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

ID token (/user-info)

Этот токен содержит информацию о клиенте, представлен в виде JSON Web Token (JWT) и структурой:

  • Алгоритм подписи и тип токена (Header);
  • Полезная нагрузка (Payload);
  • Электронная подпись (Signature).

Каждая часть ответа, разделенная точкой, должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.

При необходимости вы можете настроить процесс проверки подлинности данных. Для этого необходимо вычислить подпись публичным ключом Банка, декодировав блок Header и Payload (содержимое между двумя точками). Далее сравнить полученное значение c блоком Электронная подпись (содержимое после второй точки).


ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.