ym88659208ym87991671
Описание ошибок | Документация для разработчиков

Описание ошибок

Обновлено 11 сентября 2023

Уведомление пользователя об ошибки

При возникновении ошибки входа по Сбер ID необходимо пользователю показать, что произошла ошибка и предложить войти еще раз по примеру ниже:

Окно с ошибкой входа по Сбер ID

Ошибки при запросе кода авторизации (auth_code)

Описание ошибок c использованием JavaScript SDK

Если страница авторизации по Сбер ID была открыта в модальном окне и во время процесса авторизации произошла ошибка, то после редиректа по адресу, указанному в параметре oidc.redirect_uri, будет вызвана функция onErrorCallback принимающая в качестве аргумента объект, содержащий следующие значения:

  • code (String) - код ошибки;
  • error (String) - значение, включенное в запрос, которое было передано на страницу авторизации по Сбер ID;
  • description (String) - текстовое описание ошибки.

Примечание: в зависимости от кода ошибки можно показать пользователю уведомление с возможной причиной ошибки

  • invalid_request - В запросе отсутствуют обязательные атрибуты;
  • unauthorized_client - АС - источник запроса не зарегистрирована или заблокирована в банке либо значение атрибута client_id не соответствует формату;
  • unsupported_response_type - Значение атрибута response_type не равно« code»;
  • invalid_scope - Значение атрибута scope не содержит параметр openid в начальной позиции либо запрошенный scope содержит значения, недоступные для АС источника запроса;
  • access_denied - Клиент отказался от передачи согласий;
  • invalid_state - Значение атрибута state не соответствует изначальному;
  • window_closed - Клиент закрыл окно авторизации по Сбер ID;
  • invalid_browser - oidc-страница была открыта в режиме инкогнито или во встроенном браузере.

Описание ошибок c использованием Android SDK

Если state сгенерированный вами и state возвращенный при авторизации по Сбер ID не совпадет, результат будет ошибочным, в SberIDResultModel.errorDescription вернется фраза "invalid_state". При других ошибках, так как падение приложения Сбербанк Онлайн, прерывание сценария и др. будет ошибка "internal_error"

Пример ответа с ошибкой

appScheme://appName/appPath?result=FAILURE&error_code=5
типы возвращаемых ошибокописание ошибок
invalid_requestВ запросе отсутствуют обязательные атрибуты.
unauthorized_clientАС-источник запроса не зарегистрирована в банке.
unauthorized_clientАС-источник запроса заблокирована в банке.
unauthorized_clientЗначение атрибута client_id не соответствует формату.
unsupported_response_typeЗначение атрибута response_type не равно «code».
invalid_scopeЗапрошенный scope содержит значения, недоступные для АС-источника запроса.
invalid_requestЗначение code_challenge_method не соответствуют допустимым значениям.
  • Для любого из перечисленных типов ошибок МП СБОЛ на платформе Android возвращает в приложение партнера код 5 в параметре error_code без указания типа ошибки.
  • В случае отсутствия в запросе атрибута redirect_uri или в случае если значение redirect_uri не зарегистрировано для данного партнера, банк перенаправляет клиента на экран, информирующий клиента о недоступности сервиса.

Описание ошибок c использованием iOS SDK

Если state сгенерированный вами и state возвращенный при авторизации по Сбер ID не совпадет, результат будет ошибочным, в SberIDResultModel.errorDescription вернется фраза "invalid_state". При возникновении других проблем, например, отказ приложения Сбербанк Онлайн или прерывание сценария, верется ошибка internal_error.

Пример ответа с ошибкой:

appScheme://redirect?status=fail&error=invalid_request
типы возвращаемых ошибокописание ошибки
1invalid_requestВ запросе отсутствуют обязательные атрибуты.
2unauthorized_clientАС-источник запроса не зарегистрирована в банке.
3unauthorized_clientАС-источник запроса заблокирована в банке.
4unauthorized_clientЗначение атрибута client_id не соответствует формату.
5unsupported_response_typeЗначение атрибута response_type не равно «code».
6invalid_scopeЗапрошенный scope содержит значения, недоступные для АС-источника запроса.
7invalid_requestЗначение code_challenge_method не соответствуют допустимым значениям.

Ошибки при получении access token и id token

Пример ответа в случае ошибки:

HTTP/1.1 400 Bad Request Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "httpCode": "400",
"httpMessage": "Bad Request", "moreInformation": "invalid_grant" }

Типы возвращаемых ошибок

Код ошибкиНазвание ошибкиОписание ошибкиПричина ошибки
400Empty header: authorization{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"Empty header: authorization"
}
В заголовке запроса параметр Authorization имеет пустое значение или отсутствует.
400rquid header does not match pattern{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"rquid header does not match pattern: ^(([0-9][a-f] [A-F]){32})$"
}
В заголовке запроса некорректно указан параметр RqUID. Корректный паттерн: "pattern": "^(([0-9][a-f][A-F]){32})$"
400Empty header: rquid{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"Empty header: rquid"
}
В заголовке запроса параметр RqUID имеет пустое значение или отсутствует.
400invalid_scope{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"invalid_scope"
}
В теле запроса ошибка в параметре scope: используется пустое либо некорректное значение параметра. Корректное значение параметра scope необходимо смотреть в документации к API.
400Bad Request{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"Bad Request"
}
В заголовке запроса указаны некорректные значения параметров accept или content-type. Корректные данные параметров для вызова токена можно посмотреть в Параметрах запроса
400invalid_request{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"invalid_request"
}
В теле запроса ошибка в параметрах grant_type, code или redirect_uri используется пустое либо указано некорректное значение параметра. Корректные данные параметров для вызова токена можно посмотреть в Параметрах запроса.
400Invalid object: the property 'grant_type' is missing{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"local:///authgw/auth/1.0/xsd/Token2Rq.jsd:42: [JSV0002] Invalid object: the property 'grant_type' is missing."
}
В теле запроса отсутствует параметр grant_type. Корректные данные параметров для вызова токена можно посмотреть в Параметрах запроса.
400Invalid value type 'string'{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"local:///authgw/auth/1.0/xsd/Token2Rq.jsd:42: [JSV0001] Invalid value type 'string'."
}
Следующие параметры тела запроса содержат спецсимволы #_!$@%^&_()\_+=-'":
  • CODE
  • REDIRECT_URI
  • GRANT_TYPE
  • CLIENT_ID
  • CLIENT_SECRET
Корректные данные параметров для вызова токена можно посмотреть в Параметрах запроса.
400unauthorized_client{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"unauthorized_client"
}
Ошибка в значениях параметров client_id или client_secret, указанных в теле запроса. Проверить параметры своего приложения можно через личный кабинет на Портале разработчика, в разделе "Приложения".
400invalid_grant{
"httpCode":"400",
"httpMessage":"Bad Request",
"moreInformation":"invalid_grant"
}
Данная ошибка возникает из-за того, что в теле запроса некорректно заполнены следующие параметры:
  • CODE (просрочен или выдан другому client_id)
  • REDIRECT_URI (не соответствует значению, указанному в параметре redirect_uri в запросе кода авторизации)
401Mismatch client_id{
"httpCode":"401",
"httpMessage":"Unauthorized",
"moreInformation":"Client id not registered."
}

{
"httpCode":"401",
"httpMessage":"Unauthorized",
"moreInformation":"Mismatch client_id"
}
client_id приложения, указанный в заголовке "Authorization", не зарегистрирован на Портале разработчика: приложение может быть удалено, значение содержит синтаксическую ошибку либо является эмуляционным значением. Проверить параметры своего приложения можно через личный кабинет на Портале разработчика, в разделе "Приложения".
401Scope not supported by 3rd party{
"httpCode":"401",
"httpMessage":"Unauthorized",
"moreInformation":"Scope not supported by 3rd party"
}
Приложение не авторизовано получать токен по указанному scope. Причинами могут быть:
  • допущена синтаксическая ошибка при указании данного параметра. Корректное значение параметра scope необходимо смотреть в документации к API.
  • у приложения нет подписки на API, со scope которого идет вызова токена. Проверить наличие соответствующей подписки у приложения можно в личном кабинете на Портале разработчика в разделе "Приложения"
403Forbidden{
"httpCode":"403",
"httpMessage":"Forbidden"
}
Доступ запрещен. Для разбора данной ошибки необходимо обратиться в поддержку Банка.
404No resources match requested URI{
"httpCode":"404",
"httpMessage":"Not Found",
"moreInformation":"No resources match requested URI"
}
Вам необходимо скорректировать url вызова API в соответствии с указанным адресом вызова API.
405The method is not allowed for the requested URL{
"httpCode":"405",
"httpMessage":"Method Not Allowed",
"moreInformation":"The method is not allowed for the requested URL"
}
Используется некорректный метод вызова API. Вызов токена необходимо делать через POST-запрос.
406Not Acceptable{
"httpCode":"406",
"httpMessage":"Not Acceptable"
}
API не может сформировать ответ, который поддерживается приложением. Это означает, что запрашивается информация, которая не может быть предоставлена в ответе. Например, ответ запрошен в json-формате, а возможен только в xml и т.д.
429Rate Limit exceeded{
"httpCode":"429",
"httpMessage":"Too Many Requests",
"moreInformation":"Rate Limit exceeded"
}
Лимит на количество вызовов API исчерпан. Необходимо скорректировать частоту вызова API в соответствии с настройками используемого тарифного плана в рамках подписки. Настройки тарифных планов можно посмотреть в карточке API в Каталоге сервисов.
-Bad handshakeBad handshakeНекорректно прикреплен сертификат к запросу либо сертификат вовсе не прикреплен. Необходимо проверить, правильно ли прикреплен клиентский сертификат к запросу. Напоминаем, что для успешного вызова API необходимо использование клиентского сертификата в запросе, выпущенного для приложения на Портале разработчика.
500500 Internal Server Error500 Internal Server ErrorДля разбора данной ошибки необходимо обратиться в поддержку Банка
502500 Internal Server Error502 BAD_GATEWAYДля разбора данной ошибки необходимо обратиться в поддержку Банка
504500 Internal Server Error504 GATEWAY_TIMEOUTДля разбора данной ошибки необходимо обратиться в поддержку Банка

Другие ошибки

Описание ошибки

403 Forbidden
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<center><h1>403 Forbidden</h1></center>
<center>nginx/1.15.10</center>
</body>
</html>

Причина ошибки
В запросе не передан клиентский сертификат либо передан сертификат с истекшим сроком действия. Необходимо скорректировать настройки вызова и убедиться, что используется валидный сертификат для приложения, которым осуществляется вызов API. Проверить срок жизни сертификата можно через личный кабинет на Портале разработчика, в разделе "Приложения".

Ошибки при получении данных пользователя

Пример ответа в случае ошибки:

HTTP/1.1 400 Bad Request Content-Type: application/json Cache-Control: no-store Pragma: no-cache { «error»:
«invalid_request» }

Если предъявленный Access Token не найден или уже использован, возвращается ответ с ошибкой типа HTTP 401 unauthorized.

Типы возвращаемых ошибок

№ п/пОписание типа ошибкиТип возвращаемой ошибки
1В заголовке Authorization  отсутствует  какое-либо значение или в запросе присутствуют дополнительные атрибуты.invalid_request
2Указан неверный тип токена.invalid_request

Cлужба поддержки

При возникновении вопросов по интеграции со Сбер ID напишите нам на почту sberid@sber.ru

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.