Kroki pozwalające zminimalizować wpływ zmian zakresu na użytkowników
- 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 funkcjiemail
. - 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ę?. - 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ę. - Poproś użytkowników o ponowne wyrażenie zgody na wykorzystanie danych w nowym zakresie, np.
email
, bezprofile.emails.read
. - 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.me
i plus.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.