2015-12-11 3 views
22

Meine App beschränkte Logins von Oauth2 auf bestimmte Domain wie abc.com durch Angabe von abc.com in der hd-Parameter in meiner Anfrage. Restrict Login Email with Google OAuth2.0 to Specific Domain Name aber seit diesen letzten Tagen erlaubt es jedem mit einem Google-Konto login.Ich bin sicher, ich habe den Code nicht geändert und verifiziert sogar das Ergebnis uri hat meine Domain-Name in seiner hd-Parameter nach dieser Link-Anweisung https://developers.google.com/identity/protocols/OpenIDConnect#hd-param .so cany any angegeben Eins sag mir, was ich falsch mache? hier ist mein CodeOauth2 beschränken auf E-Mails mit bestimmten Domain-Namen mit hd funktioniert nicht

 `redirect(uri : "https://accounts.google.com/o/oauth2/auth?" + 
      "redirect_uri=${redirectUri}&" + 
      "response_type=code&" + 
      "client_id="${my_client_id}"& + 
      "scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email" + 
      "+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&" + 
      "approval_prompt=auto&" + 
      "hd=apposit.com")` 
+2

ich die gleiche Situation hatte, seit ein paar Wochen die HD-Parameter keinen Zugriff mehr auf die angegebene Domäne beschränken. Es gab keine Änderung am Code, es schränkt den Zugriff auf den HD-Parameter nicht mehr ein ... wer weiß, was ist los? – sboss

Antwort

9

Ich weiß nicht, warum dies geschieht, aber Sie können durch Prüfen, ob der Benutzer E-Mail enthält abc.com mit Java Methode oder endsWith(), die zuverlässigere einen zweiten Sicherheitsmechanismus außer hd hinzufügen ist bevor Sie dem Benutzer erlauben, in Ihrer App weiter zu gehen.

Aber noch ist dies eine schnelle Lösung und andere mit einer Lösung sollte diese Frage beantworten

+2

Wenn ich Sie wäre, wäre ich vorsichtiger, weil es einfach ist, diesen Mechanismus einfach zu ignorieren, indem Sie einfach wie **[email protected]** oder ** [email protected]* angeben. *. –

+3

stimme ich absolut zu, aber wie ich oben erwähnt ist es nur eine schnelle Lösung und die wirkliche Lösung sollte einen Weg finden, um HD-Arbeit zu machen. – robel

+0

Oder Sie könnten ** endsWith() ** Methode verwenden. – James

Verwandte Themen