Client secret
При регистрации Приложения Партнера клиентский менеджер передает значения Client ID и Client Secret, присвоенные приложению.
Партнеру в обязательном порядке требуется сменить полученный Client Secret. Существуют следующие способы смены Client Secret:
С использованием ресурса /v1/change-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} | Не пройдена проверка сертификата по белому списку |