2015-12-11 12 views
22

Moja aplikacja ograniczała logowanie przez Oauth2 do określonej domeny, np. Abc.com, podając abc.com w parametrze hd w moim żądaniu. Restrict Login Email with Google OAuth2.0 to Specific Domain Name ale od ostatnich kilku dni pozwala na to każdemu z loginem konta Google. Jestem pewien, że nie zmieniłem kodu, a nawet zweryfikowałem wynik. Uri ma moją nazwę domeny podaną w parametrze hd zgodnie z instrukcją do linku https://developers.google.com/identity/protocols/OpenIDConnect#hd-param .to cany any jeden powiedz mi, co robię źle? tutaj jest mój kodOauth2 ogranicza się do wiadomości e-mail z określoną nazwą domeny przy użyciu hd nie działa

 `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

miałem taką samą sytuację, ponieważ kilka tygodni temu HD-parametr nie ogranicza dostępu do określonej domeny. Kod nie został zmieniony, po prostu nie ogranicza już dostępu do parametru HD ... Czy ktoś wie, co słychać? – sboss

Odpowiedz

9

Nie wiem, dlaczego tak się dzieje, ale można dodać drugi mechanizm zabezpieczeń oprócz HD poprzez sprawdzenie, czy adres e-mail użytkownika zawiera abc.com użyciu Java metodę lub endswith(), która jest bardziej niezawodny zanim pozwolisz użytkownikowi przejść dalej w Twojej aplikacji.

Ale nadal jest to szybko naprawić, a inne z roztworem należy odpowiedzieć na to pytanie

+2

Gdybym był tobą, byłbym bardziej ostrożny, ponieważ łatwo można ominąć ten mechanizm, po prostu tworząc konto takie jak: **[email protected]** lub **[email protected]* *. –

+3

Całkowicie się zgadzam, ale jak już wspomniałem, jest to tylko szybkie rozwiązanie, a prawdziwym rozwiązaniem powinno być znalezienie sposobu na sprawne działanie HD. – robel

+0

Lub możesz użyć metody ** endsWith() **. – James

Powiązane problemy