#oauth-2.0 #google-oauth #openid-connect #google-openidconnect
#oauth-2.0 #google-oauth #OpenID-connect #google-openidconnect
Вопрос:
Я интегрируюсь в Google OpenID Connect в качестве проверяющей стороны, используя поток кода авторизации. Если я отправляю недопустимый параметр в AuthenticationRequest
, например, недопустимое значение для scope
, Google выдает ошибку на веб-странице, например, «Некоторые запрошенные области были недействительными …».
В спецификации OpenID Connect (и спецификации OAuth) четко указано, что: «Если URI перенаправления недействителен, сервер авторизации возвращает клиенту URI перенаправления, указанный в запросе авторизации, с соответствующими параметрами ошибки и состояния».
Я делаю что-то не так в своем запросе, или я неправильно интерпретирую спецификацию, или Google просто не соответствует требованиям, когда дело доходит до отправки ответов об ошибках?
Ответ №1:
Мне кажется, что Google здесь немного не соответствует:
- Шаг 10 моего сообщения в блоге показывает поведение, основанное на стандартах
Как разработчик клиента OIDC, вы должны согласиться с тем, что некоторые неверные входные данные будут отображаться в браузере:
- Недопустимый идентификатор клиента / redirect_uri
Я склонен использовать недопустимую область для проверки ответов на ошибки — это удобно для этого — и я предполагаю, что вы делаете то же самое.
Решения от крупных поставщиков облачных технологий часто вызывают раздражение такого рода, когда все, что мы хотим как потребители, — это решение, основанное на стандартах.
Комментарии:
1. Хорошо, спасибо, приятно знать, что я не единственный, кто это видит. И я согласен, ошибки client_id и redirect_uri не должны (и часто не могут) возвращаться клиенту, поэтому эти ошибки необходимо обрабатывать другим способом.