6.6. ОТВЕТ ОБ ОШИБКЕ ТОКЕНА
Если запрос токена является недействительным или неавторизованным, сервер авторизации создает ответ об ошибке "400 Bad Request" в дополнение к кодам ошибок, определенным в подразделе 5.2 The OAuth 2.0 Authorization Framework ([RFC6749]), с применением следующих дополнительных кодов ошибок:
- "authorization_pending": запрос авторизации ожидает рассмотрения, поскольку конечный пользователь еще не прошел аутентификацию;
- "slow_down": (аналогично "authorization_pending") запрос авторизации находится на рассмотрении, и опрос должен продолжаться, но интервал должен быть увеличен как минимум на пять секунд для данного и всех последующих запросов;
- "expired_token": срок действия <auth_req_id> истек. Клиент должен сделать новый запрос аутентификации;
- "access_denied": пользователь отклонил запрос авторизации.
Примечание. Перечень стандартных кодов ошибок запроса авторизации определен в разделе 5.2 [RFC6749].
При определении кода ошибок необходимо учитывать следующие требования:
1. В случае если <auth_req_id> недействителен или был выдан другому клиенту, сервер авторизации возвращает код ошибки "invalid_grant".
2. В случае если клиент опрашивает быстрее, чем в рамках установленного интервала, сервер авторизации возвращает код ошибки "invalid_request".
3. В случае если клиент получает код ошибки "invalid_request", он не должен делать дальнейшие запросы для того же значения <auth_req_id>.
4. В случае если клиент зарегистрирован для использования режима Push, но вызывает конечную точку токена с типом гранта "urn: openid: params: grant-type: ciba", сервер авторизации возвращает код ошибки "unauthorized_client".
5. Когда клиент получает код ответа "4xx" с полезной нагрузкой JSON, он должен проверить полезную нагрузку, чтобы определить код ошибки.