Migracja z logowania przez Google+

Kroki pozwalające zminimalizować wpływ zmian zakresu na użytkowników

  1. Jeśli Twoja aplikacja wymaga adresu e-mail uwierzytelnionego użytkownika, a do tej pory używałeś do tego celu funkcji profile.emails.read, użyj zamiast niej funkcji email.
  2. Uzyskaj zatwierdzenie domeny profile.emails.read za pomocą zatwierdzonej prośby o weryfikację. Zapoznaj się z artykułem Jak przesłać prośbę o weryfikację?.
  3. Unieważnij token poprzedniego użytkownika w zakresie, który ma zostać usunięty, lub całkowicie usuń dostęp do aplikacji. Na przykład należy cofnąć token z dostępem profile.emails.read. Zalecamy, aby cofnąć zgodę, gdy użytkownicy są w aplikacji, dzięki czemu możesz od razu uzyskać ich zgodę.
  4. Poproś użytkowników o ponowne wyrażenie zgody na wykorzystanie danych w nowym zakresie, np. email, bez profile.emails.read.
  5. Usuń zakres, który ma zostać wycofany, z konfiguracji ekranu akceptacji OAuth interfejsów API Google.

Aby przenieść aplikację z logowania przez Google+ na logowanie przez Google, musisz zaktualizować przycisk logowania, wymagane zakresy uprawnień i instrukcje pobierania informacji o profilu z Google. Pełne instrukcje znajdziesz w dokumentacji logowania przez Google na Androida.

Gdy aktualizujesz przycisk logowania, nie odnosij się do Google+ ani nie używaj koloru czerwonego. Zadbaj o zgodność ze zaktualizowanymi wskazówkami dotyczącymi promowania marki.

Większość aplikacji korzystających z logowania w Google+ prosiła o jakiś zestaw zakresów: plus.login, plus.meplus.profile.emails.read. Jeśli użyjesz opcji GoogleSignInOptions.Builder z opcją DEFAULT_SIGN_IN, automatycznie poprosisz o zakres profile, który obejmuje imię i nazwisko oraz zdjęcie profilowe użytkownika. Jeśli potrzebujesz też adresu e-mail użytkownika, wywołaj .requestEmail() podczas tworzenia opcji logowania Google.

Wielu implementatorów funkcji Logowanie przez Google+ używało procesu kodu. Oznacza to, że aplikacje na Androida, iOS lub JavaScript uzyskują od Google kod autoryzacji OAuth, a klient wysyła ten kod z powrotem na serwer wraz z ochroną przed fałszowaniem żądań w wielu witrynach. Następnie serwer weryfikuje kod i pobiera tokeny odświeżania i dostępu, aby pobrać informacje o profilu użytkownika z interfejsu API people.get.

Google zaleca teraz żądanie tokena identyfikatora i wysłanie go z klienta na Twój serwer. Tokeny identyfikacyjne mają wbudowane zabezpieczenia przed fałszowaniem w wielu witrynach. Można je też weryfikować statycznie na serwerze, co pozwala uniknąć dodatkowego wywołania interfejsu API w celu uzyskania informacji o profilu użytkownika z serwerów Google. Postępuj zgodnie z instrukcjami, aby zweryfikować tokeny identyfikacyjne na serwerze.

Jeśli nadal wolisz używać przepływu kodu do uzyskiwania informacji o profilu, możesz to zrobić. Gdy Twój serwer otrzyma token dostępu, musisz uzyskać informacje o profilu użytkownika z punktów końcowych userinfo określonych w naszym dokumencie dotyczącym logowania Discovery. Odpowiedź interfejsu API jest sformatowana inaczej niż odpowiedź z profilu Google+, dlatego musisz zaktualizować parsowanie pod kątem nowego formatu.

Jeśli używasz interfejsów GoogleAuthUtil.getToken lub Plus.API, przenieś je na najnowszy interfejs Sign-In API, aby zwiększyć bezpieczeństwo i zapewnić lepszy interfejs użytkownika.