Wprowadzenie
Zaloguj się przez Google to szybki i bezpieczny sposób logowania się użytkowników w Twojej aplikacji lub witrynie. Prawidłowe wdrożenie tego rozwiązania nie tylko upraszcza proces rejestracji użytkowników, ale także zwiększa bezpieczeństwo aplikacji. W tym dokumencie przedstawiamy sprawdzone metody integracji funkcji Zaloguj się przez Google na platformach internetowych, Android i iOS. Ta dokumentacja dotyczy wyłącznie uwierzytelniania. Autoryzacja wykracza poza zakres tego dokumentu.
Lista kontrolna etapów integracji
Ta lista kontrolna zawiera ogólny plan, który przeprowadzi Cię przez proces integracji logowania przez Google. Jest on podzielony na kluczowe etapy, od wstępnej konfiguracji po wdrożenie w środowisku produkcyjnym. Korzystaj z tej listy, aby śledzić postępy, i klikaj linki, aby przejść do szczegółowych wskazówek dotyczących poszczególnych etapów.
Etap 0. Wprowadzenie (opcjonalnie)
Ułatw sobie integrację dzięki praktycznym, szczegółowym ćwiczeniom z programowania dla deweloperów.
Internet: wykonaj ćwiczenia z logowania się jednym dotknięciem i przycisku Zaloguj się przez Google, aby utworzyć podstawową integrację z internetem.
Android: wykonaj Android dotyczące Androida, aby poznać podstawy Menedżera danych logowania na Androidzie.
iOS: zapoznaj się z pakietem SDK na iOS, wykonując ćwiczenia z programowania dotyczące iOS.
Faza 1. Konfigurowanie projektu w chmurze Google Cloud i marki
Zadbaj o to, aby Twój projekt od początku był dobrze przygotowany.
Strukturyzuj projekty Google Cloud pod kątem różnych środowisk i marek.
Skonfiguruj ekran zgody OAuth, podając wszystkie wymagane informacje o marce i pomocy.
Utwórz odpowiedni typ identyfikatora klienta OAuth dla każdej platformy (internet, Android, iOS).
Etap 2. Podstawowe prace rozwojowe: interfejs i backend
Zbuduj logikę bezpiecznego serwera i środowisko użytkownika dostosowane do konkretnej platformy.
Podczas tworzenia frontendu:
Zapoznaj się z ogólnymi sprawdzonymi metodami dotyczącymi wygody użytkownika i zastosuj je, aby zmaksymalizować liczbę użytkowników i ich zaufanie.
Internet: użyj oficjalnej biblioteki JavaScript i zintegruj przepływy przycisku oraz logowania jednym kliknięciem.
Android: do integracji użyj oficjalnego pakietu Android SDK.
iOS: do integracji użyj oficjalnego pakietu SDK na iOS.
W programowaniu backendu:
Wdróż bezpieczną weryfikację tokenów identyfikatora Google na backendzie.
Używaj roszczenia sub jako unikalnego i trwałego identyfikatora użytkownika w swoim systemie.
W razie potrzeby zaplanuj rozdzielenie zakresów uwierzytelniania i autoryzacji.
Etap 3. Wzmacnianie zabezpieczeń i wdrożenie w środowisku produkcyjnym
Upewnij się, że integracja jest bezpieczna, zgodna z wymaganiami i gotowa do wdrożenia w środowisku produkcyjnym.
Sprawdź i wdróż sprawdzone metody dotyczące bezpieczeństwa.
Przed wprowadzeniem aplikacji na rynek przejdź proces weryfikacji aplikacji OAuth.
Upewnij się, że Twoja aplikacja prawidłowo obsługuje unieważnianie tokenów po usunięciu konta użytkownika.
Ogólne sprawdzone metody (wszystkie platformy)
Te praktyki obowiązują niezależnie od platformy, na którą tworzysz aplikację. Aby zapewnić pełną zgodność, programiści powinni też zapoznać się z ogólnymi zasadami dotyczącymi OAuth 2.0.
Konfigurowanie projektu Google Cloud
W tej sekcji znajdziesz sprawdzone metody strukturyzowania projektów Google Cloud i konfigurowania klientów OAuth pod kątem bezpieczeństwa i zgodności z marką.
Używanie oddzielnych projektów do testowania i produkcji
Niektóre zasady Google dotyczą tylko aplikacji produkcyjnych, dlatego musisz utworzyć osobne projekty w konsoli Google Cloud dla różnych środowisk wdrażania, takich jak środowisko deweloperskie, testowe i produkcyjne. Więcej informacji znajdziesz na tej stronie.
Używanie osobnych projektów dla każdej marki lub domeny
Jeśli Twoja organizacja zarządza wieloma aplikacjami z różnymi markami, każda marka powinna mieć własny projekt w Google Cloud. Informacje wyświetlane użytkownikom na ekranie zgody, takie jak nazwa aplikacji, logo, adres e-mail pomocy oraz linki do Warunków korzystania z usługi i Polityki prywatności, są konfigurowane na poziomie projektu. Oznacza to, że wszystkie identyfikatory klientów OAuth utworzone w ramach jednego projektu będą miały tę samą markę. Dzięki temu użytkownicy będą widzieć prawidłowe logo i informacje prawne dotyczące konkretnej aplikacji, z której korzystają.
Podaj ogólny adres e-mail pomocy
Adres e-mail pomocy dla użytkowników jest wyświetlany publicznie na ekranie zgody OAuth. Aby zachować profesjonalizm i zapewnić ciągłość, w konfiguracji ekranu zgody OAuth w projekcie Google Cloud zawsze podawaj ogólny adres e-mail pomocy (np.
support@yourdomain.com), a nie adres e-mail konkretnego pracownika. Więcej informacji znajdziesz na tej stronie.Klient OAuth na platformę
Dla każdej platformy, na której działa Twoja aplikacja (np. internet, Android, iOS), utwórz osobnego klienta OAuth w ramach tego samego projektu Google Cloud. Używanie właściwego typu klienta na każdej platformie jest kluczowe z 2 głównych powodów:
- Ulepszone zabezpieczenia: każdy typ klienta udostępnia funkcje zabezpieczeń specyficzne dla platformy. Na przykład klienta Androida można zablokować za pomocą nazwy pakietu i certyfikatu podpisywania, co uniemożliwi nieautoryzowane użycie identyfikatora klienta.
- Prawidłowe działanie: zapewnia prawidłową integrację aplikacji z pakietami SDK i funkcjami specyficznymi dla danej platformy, takimi jak Credential Manager na Androidzie czy pakiet SDK do logowania się przez Google na iOS.
Taka struktura ułatwia też korzystanie z usługi. Ponieważ zgoda jest obsługiwana na poziomie projektu Google Cloud, użytkownicy muszą ją wyrazić tylko raz w przypadku Twojej aplikacji na wszystkich platformach. Więcej informacji znajdziesz w oficjalnych zasadach dotyczących OAuth 2.0.
Kończenie weryfikacji aplikacji OAuth
Aby nazwa i logo aplikacji w wersji produkcyjnej mogły się wyświetlać, musi ona zostać zweryfikowana. Rodzaj weryfikacji zależy od danych, o które prosisz użytkownika.
- Zaloguj się przez Google wymaga tylko zakresów uwierzytelniania (
email,profileiopenid), dlatego podlega uproszczonej weryfikacji marki. Ten proces jest zwykle szybszy i skupia się na potwierdzeniu tożsamości marki.
Aby ułatwić Ci zaplanowanie harmonogramu wprowadzenia, udostępniamy zestawienie różnych rodzajów weryfikacji i przewidywanym czasie sprawdzania. Więcej informacji o zasadach weryfikacji znajdziesz w Centrum pomocy dotyczącym weryfikacji aplikacji OAuth.
- Zaloguj się przez Google wymaga tylko zakresów uwierzytelniania (
Bezpieczeństwo i obsługa tokenów
Ta sekcja skupia się na wymaganiach dotyczących środowiska wykonawczego i środkach bezpieczeństwa, które deweloperzy muszą wdrożyć na swoich serwerach backendu.
Integrowanie tokenów identyfikatora Google z backendem
- Sprawdź token identyfikatora: zawsze sprawdzaj integralność tokena identyfikatora Google na serwerze backendu. Nigdy nie ufaj tokenowi tylko dlatego, że został wysłany z Twojego klienta. Do tej weryfikacji zalecamy użycie biblioteki klienta interfejsu Google API. Więcej informacji znajdziesz w artykule Weryfikowanie tokena tożsamości Google po stronie serwera.
- Używaj roszczenia
sub: jako identyfikatora użytkownika używaj tylko pola tokena identyfikatora Googlesub, ponieważ jest ono niepowtarzalne i stabilne wśród wszystkich kont Google i nigdy nie jest używane ponownie. Polesubnależy przechowywać i powiązać z użytkownikiem w systemie zarządzania kontami. Adresu e-mail z tokena identyfikatora możesz użyć do sprawdzenia, czy użytkownik ma już konto, ale nie używaj go jako identyfikatora, ponieważ konto Google może mieć wiele adresów e-mail w różnych momentach.
Unieważnianie tokenów po usunięciu konta
Zdecydowanie zaleca się udostępnienie użytkownikom, którzy logują się przez Google, możliwości odłączenia ich konta Google od aplikacji. Jeśli użytkownik zdecyduje się usunąć konto, musisz cofnąć wszystkie tokeny dostępu i odświeżania uzyskane przez Twoją aplikację.
Szczegółowe informacje o odwoływaniu tokenów po stronie klienta znajdziesz w dokumentacji dotyczącej internetu, Android i iOS. Informacje o unieważnianiu po stronie serwera znajdziesz w artykule Używanie protokołu OAuth 2.0 w internetowych aplikacjach serwerowych.
Oddzielenie uwierzytelniania od autoryzacji
Pakiety SDK do logowania się przez Google żądają tylko zakresów wymaganych do uwierzytelniania. Jeśli Twoja aplikacja potrzebuje dostępu do innych usług Google (np. Kalendarza Google lub Dysku), poproś o te uprawnienia osobno i tylko wtedy, gdy użytkownik próbuje wykonać działanie, które ich wymaga. Więcej informacji znajdziesz w sekcji Oddzielne momenty uwierzytelniania i autoryzacji.
Sprawdzone metody dotyczące bezpieczeństwa
Aby zapewnić bezpieczną integrację, zawsze weryfikuj token identyfikatora na serwerze backendu za pomocą biblioteki klienta Google API. Aby uzyskać bardziej kompleksową ochronę przed różnymi zagrożeniami, wdróż pakiet zabezpieczeń i ochronę wszystkich kont (RISC). W przypadku aplikacji na iOS zdecydowanie zalecamy też zintegrowanie Sprawdzania aplikacji, aby mieć pewność, że żądania pochodzą z Twojej autentycznej aplikacji.
Wrażenia użytkowników (UX)
Ta sekcja skupia się na optymalizacji elementów widocznych dla użytkowników oraz procesów logowania i rejestracji.
Wyraźnie wyświetlaj przycisk: przycisk Zaloguj się przez Google powinien być wyraźnie widoczny i dostępny na stronie logowania i rejestracji.
Przestrzegaj wskazówek dotyczących marki: używaj oficjalnych przycisków logowania z logo Google, aby zapewnić spójność i wzbudzać zaufanie użytkowników. Zapoznaj się z oficjalnymi wskazówkami dotyczącymi promowania marki „Zaloguj się przez Google”.
Bezproblemowa rejestracja: w przypadku nowych użytkowników automatycznie utwórz konto lub przekieruj ich do procesu tworzenia nowego konta po pierwszym pomyślnym zalogowaniu się za pomocą Google. W backendzie sprawdź, czy istnieje użytkownik o podanym
subidentyfikatorze. Jeśli nie, utwórz nowe konto. Pozwala to zminimalizować wysiłek związany z rejestracją.Uproszczone logowanie: w przypadku powracających użytkowników użyj identyfikatora
sub, aby ich zidentyfikować i uwierzytelnić na istniejącym koncie. Wdróż funkcje takie jak logowanie automatyczne w przypadku aplikacji internetowych i Android oraz przywracanie stanu w przypadku aplikacji na iOS, aby użytkownicy mogli szybko i bezpiecznie wrócić do Twojej aplikacji.Zarządzanie metodami logowania społecznościowego: udostępnia w ustawieniach użytkownika centralną sekcję „Połączone konta”, w której użytkownicy mogą zarządzać różnymi metodami logowania społecznościowego (np. Google).
Łączenie: udostępnij przycisk „Zaloguj się przez Google” dla obecnych użytkowników, którzy korzystają z innych metod (np. nazwy użytkownika i hasła). Kliknięcie tego przycisku rozpoczyna proces uwierzytelniania, który umożliwia połączenie konta Google z dotychczasowym profilem.
Odłączanie: udostępnij opcję odłączenia konta. Aby to zrobić, musisz odwołać tokeny i usunąć powiązanie z Google z bazy danych.
Wdrożenie na Androidzie (aplikacje i gry)
Standardowe aplikacje na Androida
W przypadku implementacji na Androida należy używać Credential Managera. Jest to zalecane podejście do obsługi danych logowania użytkowników, które zapewnia ujednolicone, bezpieczne i spójne logowanie na Androidzie.
Do wdrożenia użyj identyfikatora klienta OAuth dla Android. Jeśli masz już wdrożoną funkcję Zaloguj się przez Google na innych platformach (np. w internecie lub na iOS), utwórz nowy identyfikator klienta OAuth typu Android w tym samym projekcie Google Cloud.
Przepływy implementacji
Solidna implementacja powinna obejmować zarówno interfejs dolnego arkusza Credential Manager, jak i przycisk Zaloguj się przez Google.
- Arkusz: jest to wywoływana przez dewelopera prośba o niskim poziomie tarcia, która jest wyświetlana przez Credential Manager, gdy użytkownik przechodzi na ekran logowania.
- Przycisk Zaloguj się przez Google: jest to jawny proces logowania inicjowany przez użytkownika, który może on rozpocząć, klikając przycisk.
- Precyzyjna konfiguracja projektu w chmurze Google Cloud jest niezbędna. Wymaga to utworzenia odpowiednich typów identyfikatorów klienta OAuth i podania konkretnych szczegółów, takich jak
SHA-1odcisk cyfrowy certyfikatu aplikacji. Aby zapewnić prawidłową konfigurację, postępuj zgodnie z oficjalnym przewodnikiem dla programistów aplikacji na Androida.
Zawsze uwzględniaj przepływ przycisku, ponieważ użytkownik może zamknąć arkusz u dołu lub wyłączyć go w swoich preferencjach. Przycisk zapewnia, że użytkownik zawsze będzie mógł rozpocząć proces logowania.
Strategia miejsc docelowych
Przycisk Zaloguj się przez Google:
- Lokalizacja: wyświetlaj przycisk Zaloguj się przez Google na stronach rejestracji lub logowania.
- Widoczność: umieść go w widocznym miejscu obok innych metod logowania, takich jak pola nazwy użytkownika i hasła lub inni dostawcy logowania społecznościowego.
Arkusz z Menedżerem danych logowania:
- Wywoływanie: dolny arkusz powinien być wywoływany automatycznie po uruchomieniu strony logowania lub aplikacji. Nie powinien być wywoływany przez kliknięcie przycisku przez użytkownika.
- Logowanie automatyczne: w przypadku powracających użytkowników zdecydowanie zalecamy włączenie opcji logowania automatycznego w Credential Manager. Dzięki temu powracający użytkownicy (którzy wcześniej wyrazili zgodę) mogą ponownie zalogować się w aplikacji bez żadnej interakcji.
Gry na Androida
W przypadku gier na Androida nie zalecamy korzystania z Menedżera danych logowania. Deweloperzy gier powinni zamiast tego korzystać z usług Gier Google Play (PGS), które koncentrują się na tożsamości Google na wielu platformach i używają funkcji Zaloguj się przez Google. Więcej informacji znajdziesz w dokumentacji dotyczącej ciągłości działania na wielu platformach z SiWG.
Implementacja na iOS
Korzystanie z oficjalnego pakietu SDK do logowania się przez Google
W przypadku aplikacji na iOS należy używać oficjalnego pakietu SDK Zaloguj się przez Google na iOS i macOS. Ta biblioteka zapewnia najbezpieczniejszy i najwygodniejszy sposób integracji logowania przez Google.
Do wdrożenia użyj identyfikatora klienta OAuth dla iOS. Jeśli masz już wdrożoną funkcję Zaloguj się przez Google na innych platformach (np. w internecie lub na Androidzie), utwórz nowy identyfikator klienta OAuth typu iOS w tym samym projekcie Google Cloud.
Dodawanie przycisku „Zaloguj się przez Google”
- Umieszczenie: dodaj przycisk „Zaloguj się przez Google” do widoku logowania w aplikacji, zarówno na stronach rejestracji, jak i logowania. Umieść go w widocznym miejscu obok innych metod logowania, takich jak pola nazwy użytkownika i hasła lub inni dostawcy logowania społecznościowego.
- Używaj zalecanych komponentów: używaj oficjalnych komponentów przycisku dostarczonych przez pakiet SDK zarówno w przypadku SwiftUI, jak i UIKit. Te komponenty automatycznie generują przycisk zgodny z wytycznymi Google dotyczącymi marki. Jest to zalecany sposób wyświetlania przycisku.
Przywracanie stanu logowania użytkownika
- Płynne przywracanie: po uruchomieniu aplikacji wywołaj funkcję
restorePreviousSignIn, aby spróbować przywrócić stan logowania użytkowników, którzy zostali już uwierzytelnieni za pomocą Google. Dzięki temu powracający użytkownicy nie muszą logować się za każdym razem, gdy otwierają aplikację, co zapewnia płynne działanie porównywalne z logowaniem automatycznym na innych platformach.
Zwiększanie bezpieczeństwa dzięki Sprawdzaniu aplikacji
Chroń zasoby backendu przed nadużyciami, weryfikując, czy żądania do klienta protokołu OAuth 2.0 pochodzą z autentycznej aplikacji. Sprawdzanie aplikacji korzysta z dostawcy atestów, aby weryfikować, czy żądania pochodzą z prawdziwej, niezmodyfikowanej instancji aplikacji, i odrzucać te, które nie spełniają tego warunku. Więcej informacji znajdziesz w artykule Sprawdzanie aplikacji w przypadku logowania przez Google na iOS.
Implementacja w internecie
Wskazówki dotyczące witryn i aplikacji internetowych.
Używanie oficjalnej biblioteki JavaScriptu do logowania się przez Google
W przypadku implementacji w internecie używaj oficjalnej biblioteki JavaScript Zaloguj się przez Google. To najnowsza generacja bibliotek tożsamości Google dla internetu, która obejmuje funkcje Przycisku i Jednego dotknięcia.
Do wdrożenia użyj identyfikatora klienta OAuth dla internetu. Jeśli masz już wdrożoną funkcję Zaloguj się przez Google na innych platformach (np. Androidzie lub iOS), utwórz nowy identyfikator klienta OAuth typu Web w tym samym projekcie Google Cloud.
Wdróż przepływy przycisku i jednego dotknięcia.
Zgodnie ze sprawdzonymi metodami należy wdrożyć zarówno przycisk „Zaloguj się przez Google”, jak i logowanie jednym dotknięciem.
- Przycisk Zaloguj się przez Google: jest to jawny proces logowania lub rejestracji inicjowany przez użytkownika.
- Jedno dotknięcie: wyświetla prośbę o zalogowanie się lub zarejestrowanie, która nie wymaga od użytkownika wielu działań i nie przerywa mu pracy.
- W przypadku obu implementacji używaj tego samego identyfikatora klienta OAuth dla internetu.
Zawsze uwzględniaj przycisk jako podstawową opcję logowania. Użytkownicy mogą odrzucić lub wyłączyć logowanie jednym kliknięciem w ustawieniach konta Google, ale przycisk będzie zawsze dostępny, dzięki czemu użytkownicy nigdy nie będą mieli problemów z logowaniem.
Strategia miejsc docelowych
Przycisk Zaloguj się przez Google:
- Lokalizacja: wyświetlaj spersonalizowany przycisk Zaloguj się przez Google na stronach rejestracji lub logowania.
- Pamiętaj, że nie ma jednego wzorca, który sprawdza się najlepiej w przypadku wszystkich witryn (np. przekierowanie a wyskakujące okienko). Twój zespół ds. projektowania stron internetowych lub UX powinien przetestować i zoptymalizować te procesy, aby zmaksymalizować współczynniki ukończenia zarówno rejestracji, jak i logowania.
- Widoczność: umieść go w widocznym miejscu obok innych metod logowania, takich jak pola nazwy użytkownika i hasła lub inni dostawcy logowania społecznościowego.
- Sprawdź sekcję Wskazówki dotyczące przycisku Zaloguj się przez Google, aby uzyskać optymalną konfigurację i skuteczność.
- Lokalizacja: wyświetlaj spersonalizowany przycisk Zaloguj się przez Google na stronach rejestracji lub logowania.
Prompt jednym dotknięciem:
- Lokalizacja: wyświetlaj prośbę o logowanie jednym kliknięciem na wielu stronach swojej witryny, np. na stronach poszczególnych produktów, stronach artykułów, a nawet na stronie głównej. Główną zaletą funkcji One Tap jest możliwość zalogowania się lub utworzenia konta bez opuszczania bieżącej strony.
- Logowanie automatyczne: w przypadku powracających użytkowników zdecydowanie zalecamy włączenie opcji logowania automatycznego w ramach logowania jednym kliknięciem. Dzięki temu powracający użytkownicy (którzy wcześniej wyrazili zgodę) mogą ponownie zalogować się w aplikacji bez żadnej interakcji.
- Sprawdź sekcję Wskazówki dotyczące logowania jednym kliknięciem, aby uzyskać optymalną konfigurację i skuteczność.