Sprawdzone metody wdrażania funkcji Zaloguj się przez Google

Zaloguj się przez Google

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 logowania 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ęciemprzycisku logowania się przez Google, aby utworzyć podstawową integrację z internetem.

Android: ukończ Android dotyczący Androida, aby poznać podstawy Menedżera danych logowania na Androidzie.

iOS: zapoznaj się z iOS, aby poznać pakiet SDK na iOS.

Faza 1. Konfiguracja projektu Google Cloud i marki

Zadbaj o to, aby Twój projekt od samego początku był przygotowany na sukces.

 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 programistyczne: 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 zarówno przycisk, jak i przepływy 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. Zwiększenie bezpieczeństwa 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.

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 wdrażania

    Niektóre zasady Google dotyczą tylko aplikacji produkcyjnych, dlatego w konsoli Google Cloud musisz utworzyć osobne projekty 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ść, zawsze konfiguruj ogólny adres e-mail pomocy (np. support@yourdomain.com) w konfiguracji ekranu zgody OAuth w projekcie Google Cloud zamiast adresu e-mail pracownika. Więcej informacji znajdziesz na tej stronie.

  • Klient OAuth na platformę

    Dla każdej platformy, na której działa Twoja aplikacja, musisz utworzyć osobnego klienta OAuth (np. Internet, Android, iOS) w ramach tego samego projektu Google Cloud. Używanie prawidłowego 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 danej 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 Menedżer danych logowania na Androidzie czy pakiet SDK Logowanie 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 produkcyjnej mogły się wyświetlać, musi ona zostać zweryfikowana. Rodzaj weryfikacji zależy od danych, o które prosisz użytkownika.

    • Logowanie przez Google wymaga tylko zakresów uwierzytelniania (email, profileopenid), dlatego podlega prostszej 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 szczegółowe informacje o różnych typach weryfikacji i oczekiwanym czasie sprawdzania. Więcej informacji o zasadach weryfikacji znajdziesz w Centrum pomocy dotyczącym weryfikacji aplikacji OAuth.

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

    • Weryfikacja tokena identyfikatora: zawsze weryfikuj 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 identyfikacyjnego Google sub, ponieważ jest ono niepowtarzalne i stabilne wśród wszystkich kont Google i nigdy nie jest używane ponownie. Pole sub należ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

    Użytkownikom, którzy logują się za pomocą Google, zdecydowanie zalecamy udostępnienie możliwości odłączenia 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, AndroidiOS. Informacje o unieważnianiu po stronie serwera znajdziesz w artykule Używanie OAuth 2.0 w internetowych aplikacjach serwerowych.

  • Oddzielenie uwierzytelniania od autoryzacji

    Pakiety SDK do logowania się za pomocą Google żądają tylko zakresów wymaganych do uwierzytelniania. Jeśli Twoja aplikacja potrzebuje dostępu do innych usług Google (takich jak Kalendarz Google czy Dysk), 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ńochronę wszystkich kont (RISC). W przypadku aplikacji na iOS zdecydowanie zalecamy zintegrowanie App Check, aby mieć pewność, że żądania pochodzą z Twojej autentycznej aplikacji.

Wrażenia użytkowników (UX)

Ta sekcja koncentruje się na optymalizacji elementów widocznych dla użytkownika 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 wygodę użytkownikom. 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 sub identyfikatorze. 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 automatyczne logowanie w przypadku internetuAndroid, 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 urządzeniach z Androidem.

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

Solidne wdrożenie powinno obejmować zarówno interfejs dolnego arkusza Credential Manager, jak i przycisk Zaloguj się przez Google.

  • Panel dolny: jest to wywoływana przez dewelopera prośba o niskim poziomie tarcia, która jest wyświetlana przez Menedżera danych logowania, gdy użytkownik wchodzi na ekran logowania.
  • Przycisk Zaloguj się przez Google: jest to jawny proces logowania inicjowany przez użytkownika, który może go rozpocząć, klikając przycisk.
  • Precyzyjna konfiguracja projektu 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 certyfikatuSHA-1 aplikacji. Aby zapewnić prawidłową konfigurację, postępuj zgodnie z oficjalnym przewodnikiem dla programistów Androida.

Zawsze uwzględniaj ścieżkę przycisku, ponieważ użytkownik może zamknąć arkusz u dołu ekranu lub wyłączyć go w ustawieniach. Przycisk zapewnia, że użytkownik zawsze może 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.
    • Automatyczne logowanie: w przypadku powracających użytkowników zdecydowanie zalecamy włączenie opcji automatycznego logowania w Menedżerze danych logowania. 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 Menedżer danych logowania nie jest zalecanym rozwiązaniem. Zamiast tego deweloperzy gier powinni korzystać z usług gier Google Play (PGS), które koncentrują się na tożsamości Google na różnych platformach i wykorzystują logowanie przez Google. Więcej informacji znajdziesz w dokumentacji dotyczącej tożsamości Google na różnych platformach z użyciem funkcji Zaloguj się przez Google.

Wdrożenie na iOS

Korzystanie z oficjalnego pakietu SDK do logowania się przez Google

W przypadku aplikacji na iOS należy używać oficjalnego pakietu SDK do logowania się w 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.

Zwiększanie bezpieczeństwa dzięki Sprawdzaniu aplikacji

Chroń zasoby backendu przed nadużyciami, weryfikując, czy żądania do klienta OAuth 2.0 pochodzą z autentycznej aplikacji. Sprawdzanie aplikacji korzysta z dostawcy atestów, aby weryfikować, czy żądania pochodzą z oryginalnej, 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ę za pomocą 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 PrzyciskuJednego kliknię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 internetowego w tym samym projekcie Google Cloud.

Wdrażanie przepływów przy użyciu przycisku i jednego kliknięcia

Zgodnie ze sprawdzonymi metodami warto 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 wielu działań i nie przerywa pracy użytkownika.
  • 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 sprawdzi się w przypadku wszystkich witryn (np. przekierowaniewyskakujące okienko). Twój zespół ds. projektowania stron internetowych lub UX powinien przetestować i zoptymalizować te procesy, aby zmaksymalizować współczynniki ukończenia rejestracji 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ść.
  • Prompt jednym dotknięciem:

    • Lokalizacja: wyświetlaj prośbę o logowanie jednym kliknięciem na wielu stronach witryny, np. na stronach poszczególnych produktów, stronach artykułów, a nawet na stronie głównej. Najważniejszą zaletą rejestracji jednym dotknięciem 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ść.