2013-04-17 21 views
12

限制應用使用OAuth登錄到一個域(比如說abc.com)。 通過以下步驟獲取錯誤:錯誤:OAuth 2參數只能有一個值:hd

  1. 通過Google瀏覽器中的多個帳戶登錄。
  2. 在試圖用未提及其域的用戶登錄時,沒有任何反應(沒有錯誤信息)。嘗試與無效用戶登錄兩次。
  3. 現在嘗試使用有效的用戶登錄。

在這樣做,會出現以下錯誤:

OAuth 2 parameters can only have a single value: hd

在錯誤堆棧跟蹤客戶端ID纔可見。這是安全風險嗎?

這個錯誤怎麼解決?

+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=*,另一個爲託管域。還說明你不應該依靠這個UI優化來控制對你的應用的訪問。

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錯誤。

相關問題