2013-04-17 4 views
12

Ограниченное приложение для входа в систему с использованием OAuth в одном домене (например, abc.com). Получение ошибки в следующих шагах:Ошибка: параметры OAuth 2 могут иметь только одно значение: hd

  1. Записано на несколько учетных записей в браузере google.
  2. При попытке войти в систему с пользователем, домен которого не указан, ничего не происходит (нет сообщения об ошибке). Попробуйте дважды войти в систему с недопустимым пользователем.
  3. Теперь попробуйте войти с действующим пользователем.

На делать это происходит следующее сообщение об ошибке:

OAuth 2 parameters can only have a single value: hd

В стеке ошибок клиента трассировки идентификатор виден. Это риск для безопасности?

Как можно устранить эту ошибку?

+0

Я только что реализовал эту функцию и вижу одно и то же сообщение, когда выполняю те же действия. Не очень удобный рабочий процесс –

+0

http://stackoverflow.com/questions/29694840/googles-openid-connect-says-oauth-2-parameters-can-only-have-a-single-value-c –

ответ

0

Согласно documentation the hd parameter для G Suite, вы, вероятно, повторяете параметр hd, один с hd=*, а другой с вашим размещенным доменом. Также говорится, что вы не должны полагаться на эту оптимизацию пользовательского интерфейса, чтобы контролировать доступ к вашему приложению.

In the error stack trace client id is visible. Is that a security risk?

Отсутствует. It is not a secret. Это используется для целей отладки.

How can this error be fixed?

Попробуйте заменить параметры hd вместо того, чтобы просто добавить новую. В общем, это должно быть сделано с каждым параметром вашего запроса. Кроме того, при повторном параметре OAuth2 documentation указывает ошибку invalid_request.

Смежные вопросы