2013-04-17 1 views
12

Die App wurde so eingeschränkt, dass sie sich mit OAuth in einer Domäne anmeldet (etwa abc.com). Erhalte den Fehler mit den folgenden Schritten:Fehler: OAuth 2-Parameter können nur einen einzigen Wert haben: hd

  1. Angemeldet mit mehreren Konten in einem Browser auf Google.
  2. Beim Versuch, sich mit einem Benutzer anzumelden, dessen Domäne nicht erwähnt wird, passiert nichts (keine Fehlermeldung). Versuchen Sie, sich zweimal mit dem ungültigen Benutzer anzumelden.
  3. Versuchen Sie jetzt, sich mit einem gültigen Benutzer anzumelden.

Auf tun, dass der folgenden Fehler auftritt:

OAuth 2 parameters can only have a single value: hd

In der Fehler-Stack-Trace-Client-ID sichtbar ist. Ist das ein Sicherheitsrisiko?

Wie kann dieser Fehler behoben werden?

+0

Ich habe gerade diese Funktionalität implementiert und sehe die gleiche Meldung, wenn ich die gleichen Schritte mache. Kein sehr benutzerfreundlicher Workflow –

+0

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

Antwort

0

Nach documentation the hd parameter ist für G Suite, so dass Sie wahrscheinlich die hd-Parameter wiederholen, eine mit der hd=* und die andere mit Ihrer gehosteten Domain (s). Außerdem sollten Sie sich nicht auf diese UI-Optimierung verlassen, um den Zugriff auf Ihre App zu steuern.

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

Keine. It is not a secret. Es wird für Debuggingzwecke verwendet.

How can this error be fixed?

Versuchen Sie, die param zu ersetzen hd anstatt nur eine neue hinzufügen. Im Allgemeinen sollte dies mit jedem Parameter Ihrer Anfrage geschehen. Auch der OAuth2 documentation gibt einen invalid_request Fehler, wenn Sie einen Parameter wiederholen.

Verwandte Themen