Описание ошибок протокола 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_token
code token
code 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
.