Client secret

При регистрации Приложения Партнера клиентский менеджер передает значения Client ID и Client Secret, присвоенные приложению.

Партнеру в обязательном порядке требуется сменить полученный Client Secret. Существуют следующие способы смены Client Secret:

Срок действия Client Secret составляет 40 дней.
Client Secret должен своевременно обновляться, в противном случае доступ к ресурсам СберБизнес ID, SberBusinessAPI и /v1/change-client-secret будет заблокирован.
В случае блокировки Client Secret Приложения Партнера можно разблокировать через отделение банка, менеджера или Личный кабинет SberBusinessAPI.

Ресурс /v1/change-client-secret

Хост для вызова ресурса /v1/change-client-secret см. в разделе Область сведений и атрибуты.

Для смены Client Secret необходимо отправить POST-запрос /v1/change-client-secret.

Модель запроса

Наименование Описание
access_token String

Обязательный параметр
Значение авторизационного токена (Access Token), полученный от пользователя, принадлежащего к организации Партнера
Пример: c68c8524-7546-4ab2-92cb-8822d82110a4-1
client_id String

Необязательный параметр
Указывается идентификатор Приложения Партнера (client_id), для которого необходимо изменить Client Secret.
Если client_id не указан, то будет изменен Client Secret приложения, для которого выдан Access Token.
client_secret String

Обязательный параметр
Текущее значение Client Secret Приложения Партнера, для которого необходимо изменить Client Secret
(client_secret >= 8 символов и <= 256 символов)
new_client_secret String

Обязательный параметр
Новое значение Client Secret Приложения Партнера, для которого необходимо изменить Client Secret
(client_secret >= 8 символов и <= 256 символов)

Пример запроса

POST /ic/sso/api/v1/change-client-secret
Host: edupirfintech.sberbank.ru:9443
access_token=c68c8524-7546-4ab2-92cb-8822d82110a4-1
&client_id=03e0be32-e72e-47ec-b740-a00b333a8ac4-1
&client_secret=740464ba79c248d9be6c525a09471cca
&new_client_secret=da658d9360604e41a5bac9611d0f1620

Необязательный параметр client_id позволяет изменять Client Secret любых Приложений зарегистрированных на одного Партнера.

Например:

У Партнера ООО "Ромашка" зарегистрировано два приложения с:

  • client_id = 10010, client-secret = XXXXXXX
  • client_id = 20020, client-secret = PPPPPPP

Пользователь ООО "Ромашка" авторизуется в приложении с client_id = 10010 и получает Access Token = c68c8524-7546-4ab2-92cb-8822d82110a4-1

Приложение Партнера вызывает ресурс /v1/change-client-secret, где указывает:

  • access_token = c68c8524-7546-4ab2-92cb-8822d82110a4-1
  • client_id = 20020
  • client_secret = PPPPPPP
  • new_client_secret = NNNNNN

В этом случае Client Secret будет изменен для client_id = 20020

Если Приложение Партнера вызывает ресурс /v1/change-client-secret, где указывает:

  • access_token = c68c8524-7546-4ab2-92cb-8822d82110a4-1
  • client_secret = XXXXXXX
  • new_client_secret = NNNNNN

То в этом случае Client Secret будет изменен для client_id = 10010, т.к. параметр client_id не указан, а Access Token выдан для приложения с client_id = 10010

Модель ответа

Наименование Описание
clientSecretExpiration Number
Срок действия нового Client Secret (в днях)

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

{
"clientSecretExpiration":40
}

Коды возврата

В случае возникновения ошибок при вызове ресурса /v1/change-client-secret в ответ будут возвращены следующие параметры:

Параметр Описание
error Код возникшей ошибки
error_description Описание возникшей ошибки
http-код error Описание причины
406 SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION Для Приложения Партнера установлен запрет на прием запросов с http-заголовком Accept со значением application/jose
406 SSOREQUESTED_FORMAT_NOT_ACCEPTABLE_EXCEPTION Для Приложения Партнера установлен запрет на прием запросов с http-заголовком Accept со значением application/json
401 UNAUTHORIZED Не найден Access Token
403 Изменение client secret недоступно Для данного типа Приложения Партнера использование ресурса /change-client-secret недоступно
403 Client secret просрочен Срок действия текущего Client Secret истек
403 Попытка изменения client secret при помощи access token, выданного пользователем, не принадлежащим организации, предоставляющей услуги внешнего сервиса Access Token выдан пользователем, не принадлежащим организации владельцу Приложения
403 Попытка изменения client secret внешнему сервису, организация которого отличается от организации пользователя, выдавшего access token Параметр client_id указан и организация владельца Access Token не совпадает с организацией владельца Приложения, чей client_id указан
400 Передано некорректное значение нового client secret: '{0}' Значение нового Client Secret совпадает с текущим или не прошло валидацию на допустимый размер значения
400 Передано некорректное значение действующего client secret: '{0}' Значение переданное в параметре client_secret не совпадает со значением указанным для client_id

Также могут быть получены следующие параметры в ответе при обращении к серверу:

Параметр Описание
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}
Не пройдена проверка сертификата по белому списку

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

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