User-info
Ресурс /oauth/user-info
Ресурс /oauth/user-info
предназначен для получения детальной информации о Клиенте.
Информация передаваемая в составе user-info согласуется с менеджером при регистрации Приложения Партнера.
Перечень параметров, которые могут быть включены в состав user-info, см. в разделе Область сведений и атрибуты.
Направления взаимодействия, описанные в разделе, выделены на схеме красным.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
Authorization | Header | Обязательный параметр. В параметре передаётся тип (token_type ) и значение (access_token ) полученные в ответ на запрос ресурса /oauth/token |
Пример запроса
GET/ic/sso/api/v2/oauth/user-info
Host: https://edupirfintech.sberbank.ru:9443
Authorization: Bearer CD6A56FD-A9C7-4152-AA1D-FA57E550F6AC-1
Параметры ответа
В ответ на запрос будет сформирован JWT токен.
В соответствии со спецификации JSON Web Token (JWT) JWT токен представлен структурой вида:
Алгоритм подписи и тип токена (Header);
Полезная нагрузка (Payload);
Электронная подпись (Signature).
Каждая часть ответа, разделенная точкой должна декодироваться отдельно. Для декодирования User-info следует воспользоваться алгоритмом Base64URL Encoding. Для проверки подписи в поле User-info на стороне клиента, необходимо вычислить подпись публичным ключом Банка, декодировав блок Header и Payload по Base64URL (содержимое между двумя точками). Далее необходимо сравнить полученное значение c блоком Электронная подпись (содержимое после второй точки), декодированным по Base64URL.
Пример ID Token
id_token | Описание | |||
---|---|---|---|---|
|
|
В user-info
включаются обязательные системные и дополнительные атрибуты пользователя для Приложения Партнера.
Обязательные системные атрибуты: sub
, iss
, aud
. Если банку не удается предоставить какие-то данные, то такой атрибут отсутствует в ответе. Проверка электронной подписи (3-я часть ответа) является опциональной и может выполняться Партнером при необходимости проверки неизменности данных user-info.
Коды возврата
В случае возникновения ошибок при вызове ресурса /v2/oauth/token
в ответ будут возвращены следующие параметры:
Параметр | Описание |
---|---|
error | Код возникшей ошибки |
error_description | Описание возникшей ошибки |
Перечень исключений:
http-code | error | error_description | Описание причины |
---|---|---|---|
406 | SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION | В соответствии с текущими настройками сервиса с clientId={0} необходимо запрашивать ответ в формате JSON | Для Приложения Партнера установлен запрет на прием запросов с http-заголовком Accept со значением application/jose |
400 | invalid_request | Missing authorization header | Отсутствует обязательный параметр заголовка Authorization |
400 | invalid_request | Incorrect authorization method | В параметре заголовка Authorization указан некорректный тип (должен быть Bearer) |
401 | invalid_token | Access Token '<значение полученного токена>' not found | Переданный токен не найден. Например, потому что истек срок его действия или пользователь отозвал согласие на передачу данных |
Также могут быть получены следующие параметры в ответе при обращении к серверу:
Параметр | Описание |
---|---|
errorCode | Код возникшей ошибки |
errorMsg | Описание возникшей ошибки |
Данный тип параметров возвращается, если на сервере возникли следующие исключения:
http-code | errorCode/errorMsg | Описание причины |
---|---|---|
403 | requestForbidden The server configuration prohibits executing a request to the endpoint {0} | На данном сервере запрещен вызов указанного ресурса. Например, вызов ресурса /v2/oauth/token осуществляется на домен https://sbi.sberbank.ru:9443 , а должен осуществляться на домен https://fintech.sberbank.ru:9443 |
403 | certificateNotFound The certificate was not whitelisted for client_id={0} | Не пройдена проверка сертификата по белому списку |