Чек-лист по переключению на Cloud
Для повышения качества сервиса Сбер ID, наша команда реализовала новый микросервис под названием Cloud, ниже представлена подробная инструкция по переключению.
По всем возникающим вопросам вы можете обратиться по любому удобному каналу связи
Шаг 1. Запрос кода авторизации
При использовании JS SDK
- Обновить JS SDK до версии 3.1.2
- При создании экземпляра SberidSDK необходимо в параметр cloud передать значение true по примеру ниже
- Тестовый стенд
- ПРОМ
const baseUrl = 'https://id-psi.sber.ru';
const params = {
oidc: oidcParams,
container: '.preview',
// Другие параметры
cloud: {
enable: true,
baseUrl: baseUrl,
},
// Другие параметры
};
const params = {
oidc: oidcParams,
container: '.preview',
// Другие параметры
cloud: {
enable: true,
},
// Другие параметры
};
При использовании Android и iOS SDK
Если вы используете Android и iOS SDK в мобильном приложении, то вы уже готовы к переезду в Cloud!
Для запросов к тестовому стенду необходимо установить параметр psiCloud для IOS и CLOUD_PSI для Android при инициализции SDK.
При кастомной интеграции
Если вы не используете наш SDK, то при запросе кода авторизации (auth_code)
с Front-end поверхности вашего приложения необходимо заменить URL запроса на https://id.sber.ru/CSAFront/oidc/authorize.do?
Пример
- Тестовый стенд
- ПРОМ
https://id-psi.sber.ru/CSAFront/oidc/authorize.do?
response_type=code
&client_type=PRIVATE
&scope=openid name
&client_id=DA5278AC-A07F-C01A-B2D3-C231DBB2E20F
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F%2Fclientresource.ru%2Fcb
&app=false
// Было
https://online.sberbank.ru/CSAFront/oidc/authorize.do?
response_type=code
&client_type=PRIVATE
&scope=openid name
&client_id=DA5278AC-A07F-C01A-B2D3-C231DBB2E20F
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F%2Fclientresource.ru%2Fcb
&app=false
// Стало
https://id.sber.ru/CSAFront/oidc/authorize.do?
response_type=code
&client_type=PRIVATE
&scope=openid name
&client_id=DA5278AC-A07F-C01A-B2D3-C231DBB2E20F
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F%2Fclientresource.ru%2Fcb
&app=false
При использовании универсальных ссылок
Если вы используете универсальные ссылки в работе ваше сервиса, то нужно изменить url в параметрах:
- в baseUrl передать значение: https://id.sber.ru/CSAFront/oidc/authorize.do
- в universalLink передать значение: https://id.sber.ru/CSAFront/oidc/sberbank_id/authorize.do
Шаг 2. Получение access token и id token
Для успешного выполнения запроса необходимо использовать сертификат, полученый при регистрации приложения на портале SberAPI, по нашей документации.
На этапе получение access token и id token Back-end партнера инициирует запрос в back-end банка по URL https://api.sberbank.ru/prod/tokens/v3/oidc
.
Для корректного переключения на Cloud необходимо заменить URL запроса на https://oauth.sber.ru/ru/prod/tokens/v2/oidc
Пример
- Тестовый стенд
- ПРОМ
POST 'https://oauth-psi.sber.ru/ru/prod/tokens/v2/oidc' \
--header 'accept: application/json' \
--header 'rquid: 012345678901234567890123456789FF' \
--header 'content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=FC49F1EA-245A-0FCD-2077-F3F73******' \
--data-urlencode 'client_id=5e7ee80a-6724-4078-8ee4-1dd63******' \
--data-urlencode 'client_secret=L4hE5nH3wB5lC6sP0bO7bA6yM5bH5hA3lN3******' \
--data-urlencode 'redirect_uri=https://api.developer.sber.ru/'
// Было
POST 'https://api.sberbank.ru/prod/tokens/v3/oidc' \
--header 'accept: application/json' \
--header 'rquid: 012345678901234567890123456789FF' \
--header 'content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=FC49F1EA-245A-0FCD-2077-F3F73******' \
--data-urlencode 'client_id=5e7ee80a-6724-4078-8ee4-1dd63******' \
--data-urlencode 'client_secret=L4hE5nH3wB5lC6sP0bO7bA6yM5bH5hA3lN3******' \
--data-urlencode 'redirect_uri=https://api.developer.sber.ru/'
// Стало
POST 'https://oauth.sber.ru/ru/prod/tokens/v2/oidc' \
--header 'accept: application/json' \
--header 'rquid: 012345678901234567890123456789FF' \
--header 'content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=FC49F1EA-245A-0FCD-2077-F3F73******' \
--data-urlencode 'client_id=5e7ee80a-6724-4078-8ee4-1dd63******' \
--data-urlencode 'client_secret=L4hE5nH3wB5lC6sP0bO7bA6yM5bH5hA3lN3******' \
--data-urlencode 'redirect_uri=https://api.developer.sber.ru/'
Шаг 3. Запрос получения данных пользователя
Для успешного выполнения запроса необходимо использовать сертификат, полученый при регистрации приложения на портале SberAPI, по нашей документации.
На этапе получения данных пользователя Back-end партнера инициирует запрос в back-end банка по URL https://api.sberbank.ru/prod/sberbankid/userinfo/v5/
.
Для корректного переключения на Cloud необходимо заменить URL запроса на https://oauth.sber.ru/ru/prod/sberbankid/v2.1/userinfo
Пример
- Тестовый стенд
- ПРОМ
curl --request GET \
--url https://oauth-psi.sber.ru/ru/prod/sberbankid/v2.1/userinfo \
--header 'authorization: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F' \
--header 'x-ibm-client-id: 5e76680a-6344-4978-8ee4-5ff6370695ddd' \
--header 'x-introspect-rquid:L4hE5nH3wB5lC6sP0bO7bA666yM5bH5h'
// Было
curl --request GET \
--url https://api.sberbank.ru/prod/sberbankid/userinfo/v5/ \
--header 'authorization: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F' \
--header 'x-ibm-client-id: 5e76680a-6344-4978-8ee4-5ff6370695ddd' \
--header 'rqUID:L4hE5nH3wB5lC6sP0bO7bA666yM5bH5h'
// Стало
curl --request GET \
--url https://oauth.sber.ru/ru/prod/sberbankid/v2.1/userinfo \
--header 'authorization: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F' \
--header 'x-ibm-client-id: 5e76680a-6344-4978-8ee4-5ff6370695ddd' \
--header 'x-introspect-rquid:L4hE5nH3wB5lC6sP0bO7bA666yM5bH5h'
Важно! Необходимо изменить название заголовка rqUID
на x-introspect-rquid
Шаг 4. Отправка подтверждения успешного завершения авторизации пользователя
Для успешного выполнения запроса необходимо использовать сертификат, полученый при регистрации приложения на портале SberAPI, по нашей документации.
Запрос необходимо отправлять после шага "19. Результат обработки ПД клиента" на схеме взаимодействия. Back-end партнера инициирует запрос в back-end банка для подтверждения успешного завершения авторизации пользователя. Тип запроса - GET.
Пример
Значение rquid
должно совпадать с rquid
из запроса получения токена и x-introspect-rquid
из запроса данных пользователя.
- Тестовый стенд
- ПРОМ
curl --request GET \
--url https://oauth-psi.sber.ru/api/v2/auth/completed \
--header 'rquid: L4hE5nH3wB5lC6sP0bO7bA666yM5bH5h'
--header 'authorization: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F'
curl --request GET \
--url https://oauth.sber.ru/api/v2/auth/completed \
--header 'rquid: L4hE5nH3wB5lC6sP0bO7bA666yM5bH5h'
--header 'authorization: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F'
Параметры ответа
В случае успешной обработки запроса Back партнера получает ответ типа HTTP 204 No Content
.