2013-04-17 20 views
12

OAuthを使用して1つのドメイン(たとえばabc.com)にログインするようにアプリを制限しました。 次の手順でエラーが表示されます。エラー:OAuth 2パラメータには1つの値しか指定できません:hd

  1. Googleのブラウザで複数のアカウントでログインしています。
  2. ドメインが記載されていないユーザーでログインしようとすると、何も起こりません(エラーメッセージなし)。無効なユーザーで2回ログインしてみてください。
  3. 有効なユーザーでログインしようとしています。次のエラーが発生することを行う上で

:エラー・スタックトレースクライアントIDで

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によると、おそらく、hd=*ともう1つはホステッドドメインの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?

はPARAM hdを交換するだけではなく、新しいものを追加してください。一般的に、これはあなたの要求のすべてのパララムで行う必要があります。また、OAuth2 documentationは、パラメータを繰り返すとinvalid_requestというエラーが発生します。

関連する問題