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

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

Пример 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,
  "session_state": "e808b215-c71c-4904-b72c-3f73f1064084",  
  "scope": "openid name https://api.sberbank.ru/sberbankid/userinfo",
  "id_token": "eyJhbGciOi-IgZ29zdDM0LTEwLjIwMTIifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiMTAwMSIsCiAibm9uY2UiOiAibi0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjg0NTcwLAogImlhdCI6IDEzMTEyODA5NzAK4oCcc2lkMuKAnTrigJ0xMjM0NTY4Nzk5MjU14oCdIAog4oCcbmFtZSI6IOKAnNCY0LLQsNC90L7QsiDQmNCy0LDQvSDQmNCy0LDQvdC+0LLQuNGH4oCdCn0.EJqZnRKZVo0Q1ZQLW1COTJLMjd1aGJVSlUxcDFyX3dXMWdGV0ZPRWpYaw"
}

Описание полей ответа

№   п/п Наименование поля Описание Обязательность Пример
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.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiMTAwMSIsCi-Aibm9uY2UiOiAibi0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjg0NTcwLAogImlhdCI6IDEzMTEyODA5NzAK4oCcc2lkMuKAnTrigJ0xMjM0NTY4Nzk5MjU14oCdIAog4oCcbmFtZSI6IOKAnNCY0LLQsNC90L7QsiDQmNCy0LDQvSDQmNCy0LDQvdC+0LLQuNGH4oCdCn0.EJqZnRKZVo0Q1ZQLW1COTJLMjd1aGJVSlUxcDFyX3dXMWdGV0ZPRWpYaw
6 session_state Идентификатор сессии в токене

Пример 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"
 }

Описание полей 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.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней