Сбер ID
Документация

1.2.3. Параметры ответа

В случае успешной обработки запроса Back партнера получает access token и Id token. Ответ типа HTTP 200 OK. Описание полей ответа приведено в таблице 10.

Пример JSON сообщения - ответа в случае успешной обработки запроса:

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
rquid: 012345678901234567890123456789FF
Cache-Control: no-store
Pragma: no-cache
{     
  "access_token":"f213a511-58d7-4e7c-88b3-a6de380c81da",
  "token_type":"Bearer",
  "expires_in":864000,
  "scope": "openid name https://api.sberbank.ru/sberbankid/userinfo",
  "id_token": "eyJhbGciOi-IgZ29zdDM0LTEwLjIwMTIifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGU
uY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiMTAwMSIsCiAibm9uY2UiOiAib
i0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjg0NTcwLAogImlhdCI6IDEzMTEyODA5NzAK4oCcc2l
kMuKAnTrigJ0xMjM0NTY4Nzk5MjU14oCdIAog4oCcbmFtZSI6IOKAnNCY0LLQsNC90L7QsiDQmNCy0
LDQvSDQmNCy0LDQvdC+0LLQuNGH4oCdCn0.EJqZnRKZVo0Q1ZQLW1COTJLMjd1aGJVSlUxcDFyX3dX
MWdGV0ZPRWpYaw."
}

Таблица 10. Описание полей ответа

№ п/п

Наименование поля

Описание

Обязательность

Пример

1

access_token

Сгенерированный Access token.

Да

f213a511-58d7-4e7c-88b3-a6de380c81da

2

token_type

Тип запрашиваемого токена. Всегда передается значение «Bearer».

Да

Bearer

3

expires_in

Время в секундах, в течение которого действует Access Token.

Да

60

4

scope

Список групп персональных данных, на получение которых выдан данный токен. В список так же по умолчанию включается название сервиса API

Да

openid name https://api.sberbank.ru/sberbankid/userinfo

5

id_token

Закодированный набор атрибутов пользователя в формате base64_url, необходимый для идентификации пользователя.

Да

eyJhbGciOi-IgZ29zdDM0LTEwLjIwMTIifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGU
uY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiMTAwMSIsCi-Aibm9uY2UiOiAib
i0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjg0NTcwLAogImlhdCI6IDEzMTEyODA5NzAK4oCcc2l
kMuKAnTrigJ0xMjM0NTY4Nzk5MjU14oCdIAog4oCcbmFtZSI6IOKAnNCY0LLQsNC90L7QsiDQmNCy0
LDQvSDQmNCy0LDQvdC+0LLQuNGH4oCdCn0.EJqZnRKZVo0Q1ZQLW1COTJLMjd1aGJVSlUxcDFyX3dX
MWdGV0ZPRWpYaw.

Пример ID Token:

{
"iss": "https: //online.sberbank.ru/ESAFront/index.do",
"sub": "74c64d08bdd5e6f2b94770e9fed9342b9054f22bea1571e68448c8cae83e0d80ec206549e11d13fc",
"sub_alt": ["499a607095ca7001022cee9a102b317f8a73330ed4e2977b3ec358d6508ab7843c41066ce3e05769",
"af5edd8ef9a14c071c225c28dab6104caf2e8d8a2e780963b23ce9c725b398052e9b4a6ac94ed83f"],
"aud": "DA5278AC - A07F - C01A - B2D3 - C231DBB2E20F",
"exp": 141254872,
"iat": 1411250872,
"auth_time": 1411250871,
"nonce": "n - 0 S6_WzA2Mj"
}

Таблица 11. Описание полей ID Token

№ п/п

Наименование поля

Описание

Примечание

1

sub

Неизменный уникальный идентификатор клиента в АС Банка, передаваемый внешним потребителям.

Максимальная длина 96 символов.

Идентификатор клиента банка, используемый внешними АС. Идентификатор может быть сохранен у Партнера.

2

iss

URL сервиса (URL АС банка), сформировавшего ID Token.

3

aud

Идентификатор внешней АС/ресурсной системы (client_id).

При получении ID_Token партнеру необходимо сравнить значение aud со значением своего client_id. Если значения не совпадают, то партнер должен завершить сценарий без авторизации клиента на своем ресурсе.

4

exp

Время, до наступления которого гарантируется неизменность информации о клиенте в составе ID Token.

5

iat

Время формирования ID Token.

6

auth_time

Время аутентификации клиента в АС Банка при запросе кода авторизации.

7

nonce

Значение переменной, сгенерированная ресурсной системой/внешней АС для предотвращения атак повторения при запросе кода авторизации.

Партнер получив ID_Token должен проверить значение параметра nonce, что полученное значение nonce равно значению параметра nonce, отправленного в запросе на аутентификацию. Если значения не совпадают, то Партнер должен завершить сценарий без авторизации клиента на своем ресурсе.

8

sub_alt (опционально)

Перечисление альтернативных sub клиента по актуальным учетным записям в массиве

Параметр включается по запросу Партнера и используется при необходимости склейки учетных записей Клиента

Обработка поля sub_alt:

Партнер идентифицирует пользователя по sub. Если не найден пользователя по sub, то необходимо искать его по sub_alt. Если партнер нашел пользователя по sub_alt, то необходимо обновить в БД Партнера значение sub на sub_alt.