Описание ошибок протокола OAuth 2.0
В данном разделе приводится описание ошибок, возникающих при выполнении запросов в рамках протокола OAuth 2.0 и OpenId Connect 1.0.
В случае возникновения ошибок сервер возвращает информацию в двух полях:
error- код ошибки.error_description- описание ошибки.
Далее будет представлена информация по кодам ошибок.
Ошибки конечной точки /authorize
invalid_request
Неправильный запрос.
В запросе не передан обязательный параметр, либо значения переданного параметра некорректно, либо параметр пристутствует в запросе несколько раз, либо весь запрос имеет неправильный формат.
Возможные причины
- Осутствие обязательных парамтеров в запросе (
client_id,redirect_uri,resource,response_type). - Переданы некорректные значения параметров (неправильный формат
redirect_uri,resource). - Переданы незарегистрированные значения параметров (незарегистрированный
resource). - Переданы неподдерживаемые значения параметров (неподдерживаемый
response_mode). - Передано некорректное значение параметра
id_token_hint. - Маркер, указанный в значении параметра
id_token_hint, невалиден. - Сервер не настроен на обработку параметра
id_token_hint.
unauthorized_client
Неавторизованный клиент.
Клиент с указанным в запросе идентификатором не зарегистрирован, отключен, либо клиенту запрещено получения маркера доступа в рамках данного сценария.
Возможные причины
- По переданному в запросе
client_idне найдено зарегистрированных клиентов. - Переданный в запросе
client_idпринадлежит заблокированному клиенту. - Использованный в запросе
redirect_uriне зарегистрирован для используемого клиента. - Используемый сценарий не разрешен для используемого клиента.
unsupported_response_tpe
Тип ответа не поддерживается.
Указанный в запросе response_type не поддерживается.
Возможные причины
- В запросе указан параметр
response_typeсо значениями отличными отcode,token,id_token,id_token token,code id_tokencode tokencode id_token token.
invalid_scope
Неправильная область использования.
Указанный в запросе scope не зарегистрирован на сервере.
Возможные причины
- В запросе указан параметр
scope, значение которого не зарегистрировано на сервере. - В запросе указан параметр
scope, заблокированный на сервере. - Срели значений параметра
scopeуказано больше одной области использования, требующей подтверждения. - Переданные парамтеры
dss_scope_paramsимеют неправильный формат.
login_required
Требуется аутентификация.
Запрос не может быть выполнен в интерактивном режиме (с указанием параметра
prompt со значением none).
Возможные причины
- Запрос не может быть выполнен в неинтерактивном режиме, так как требуется аутентификация пользователя.
Ошибки конечной точки /token
invalid_request
Неправильный запрос.
В запросе не передан обязательный параметр, либо значения переданного параметра некорректно, либо параметр пристутствует в запросе несколько раз, либо весь запрос имеет неправильный формат.
Возможные причины
- Не удалось получить идентификатор клиента из запроса.
- Отсутствие обязательных параметров в запросе (для сценария обмена маркеров:
subject_token,actor_token_type,resource,grant_type,refresh_token). - Переданы некорректные значения параметров (
resource). - Переданы незарегистрированные значения параметров (незарегистрированный
resource). - Переданы некорректные значения парaметров (для сценария обмена маркеров: неправильный формат
subject_token,actor_token). - Маркеры доступа, указанные в значениях параметров
subject_token,actor_token, не действительны. - Переданы неподдерживаемые значения параметров (для сценария обмена маркеров: неподдерживаемый тип
subject_token_type,subject_token_type). - Сервер не настроен на поддержку сценария обмена маркеров.
invalid_client
Неправильный клиент.
Не удалось осуществить аутентификацию клиента.
Возможные причины
- Не удалось получить идентификатор клиента из запроса.
- Клиент с указанным в запросе идентификатором не зарегистрирован или отключен.
invalid_grant
Неправильное разрешение.
Разрешение, используемое клиентом, не является действительным.
Возможные причины
- Не передан параметр
passwordв сценарии с использованием учетных данных владельца ресурсов. - Сервер не настроен на обработку сценария с использованием учетных данных владельца ресурсов.
- Не удалось аутентифицировать пользователя по переданным
usernameиpassword. - Сценарий с использованием учетных данных владельца ресурсов не может быть использован для данной учетной записи пользователя из-за включенной вторичной аутентификации.
- Не передан код авторизации в сценарии с кодом авторизации.
- Переданный код авторизации истек или не действителен.
- Переданный код авторизации был получен другим клиентом.
unauthorized_client
Неавторизованный клиент.
Клиент с указанным в запросе идентификатором не зарегистрирован, отключен, либо переданы неверные учетные данные клиента.
Возможные причины
- Используется тип учетных данных клиента, отличный от разделяемого секрета.
- Переданы неверные учетные данные.
- Переданные учетные данные клиента истекли.
usupported_grant_type
Неподдерживаемый тип разрешение.
Разрешение, используемое клиентом, не поддерживается сервером.
Возможные причины
- Передан тип разрешения отличный от
code,password,urn:ietf:params:oauth:grant-type:token-exchange,refresh_token.
Специальные коды ошибок
Помимо стандартных значений параметра error ответа сервиса авторизации,
описанных в RFC-6749, в СЭП
вводятся два специальных значения.
Отмена операции
Пользователь СЭП может отменить процедуру многофакторной аутентификации. В этом
случае на клиент будет возвращена со значением параметра error равным
access_denied и фиксированным значением параметра error_description
равным cancelled_by_user.
Подробнее см. Отмена запроса.