Na tej stronie opisano, jak wdrożyć funkcje związane z logowaniem się i wylogowywaniem użytkowników za pomocą funkcji Google One Tap.
Automatyczne logowanie użytkowników
Funkcja Google One Tap obsługuje logowanie automatyczne, które zapewnia użytkownikom płynne działanie, ponieważ eliminuje czynności wykonywane ręcznie, gdy wracają do Twojej witryny. Użytkownicy nie muszą pamiętać, które konto Google wybrali podczas ostatniej wizyty, co zmniejsza prawdopodobieństwo utworzenia niepotrzebnych duplikatów kont na Twojej platformie.
Logowanie automatyczne ma uzupełniać przycisk Zaloguj się przez Google i okna logowania jednym dotknięciem. Jest przeznaczony do użycia w całej witrynie, a ręczna rejestracja lub przełączanie kont następuje dopiero po wylogowaniu się użytkownika z witryny.
Aby logowanie automatyczne było możliwe, muszą być spełnione te warunki:
- użytkownicy muszą najpierw zalogować się na swoje konto Google,
- wyraził wcześniej zgodę na udostępnienie profilu konta Twojej aplikacji,
- podczas korzystania z FedCM podjęto tylko jedną próbę logowania w ciągu ostatnich 10 minut. Funkcja One Tap jest wyświetlana, gdy w tym okresie wystąpią powtarzające się próby logowania.
- gdy używasz FedCM, Chrome wymaga od użytkowników ponownego potwierdzenia, że chcą zalogować się na stronie za pomocą konta Google w każdej instancji Chrome, nawet jeśli użytkownik zatwierdził witrynę przed wdrożeniem FedCM. Ta zmiana może wpłynąć na współczynnik konwersji w Twojej dotychczasowej witrynie, która korzysta z funkcji One Tap. W aktualizacji Chrome M121 ulepszenie automatycznego logowania ogranicza problem ze spadkiem współczynnika konwersji.
Na stronach, na których włączone jest logowanie automatyczne, i jeśli te warunki są spełnione, dane logowania tokena identyfikacji użytkownika są automatycznie zwracane bez interakcji użytkownika. Jeśli te warunki nie są spełnione, nawet jeśli na stronie jest włączone logowanie automatyczne, użytkownik domyślnie przechodzi do procesu logowania lub wyrażania zgody jednym dotknięciem. Jeśli użytkownik ma kilka kont Google i odwiedza Twoją witrynę, musi najpierw zalogować się na jedno konto Google i wyrazić zgodę na tym koncie.
Wskaźnik sukcesu logowania automatycznego możesz mierzyć za pomocą wartości auto w polu select_by zwracanego obiektu CredentialResponse podczas obsługi odpowiedzi w wywołaniu zwrotnym JavaScriptu (callback lub data-callback).
Wartość select_by nie jest uwzględniana w żądaniach HTTP POST wysyłanych do login_uri ani data-login_uri.
Aby włączyć logowanie automatyczne, dodaj do kodu data-auto_select="true", jak pokazano w tym fragmencie:
<div id="g_id_onload"
data-client_id="YOUR_GOOGLE_CLIENT_ID"
data-login_uri="https://your.domain/your_login_endpoint"
data-auto_select="true">
</div>
Wyloguj się
Gdy użytkownik wyloguje się z Twojej witryny, może zostać przekierowany na stronę, na której automatycznie wyświetli się prośba o zalogowanie się jednym dotknięciem w Google. W przypadku tej konfiguracji automatyczny wybór musi być zabroniony. W przeciwnym razie użytkownik zostanie automatycznie zalogowany ponownie, co spowoduje zapętlenie UX.
Korzystanie z FedCM
Aby zwiększyć wygodę użytkowników, między próbami logowania automatycznego obowiązuje 10-minutowy okres wyciszenia. W tym czasie wyświetlana jest prośba o zalogowanie jednym dotknięciem. Użytkownicy muszą wyraźnie kliknąć Logowanie jednym dotknięciem, aby się zalogować.
Bez FedCM
Aby uniemożliwić automatyczny wybór po wylogowaniu się użytkownika, dodaj nazwę klasy g_id_signout do wszystkich linków i przycisków wylogowania. Zapoznaj się z poniższym fragmentem kodu:
<div class="g_id_signout">Sign Out</div>
Do wylogowania się możesz też użyć tego fragmentu kodu JavaScript:
const button = document.getElementById('signout_button');
button.onclick = () => {
google.accounts.id.disableAutoSelect();
}
Aby zapobiec zapętleniu UX, stan wylogowania użytkownika jest przechowywany w pliku cookie o nazwie g_state, który jest ustawiany przez bibliotekę Google Identity Services. Domyślnie domena pliku cookie jest ustawiona na domenę bieżącej strony. Jeśli logowanie jednym dotknięciem jest wyświetlane w domenie nadrzędnej i subdomenach, plik cookie stanu musi być widoczny we wszystkich Twoich domenach. Użyj atrybutu data-state_cookie_domain, aby ustawić domenę pliku cookie g_state na domenę nadrzędną. Na przykład dodaj data-state_cookie_domain="example.com" do elementu g_id_onload w przypadku domeny nadrzędnej example.com i subdomeny o nazwie webapp.example.com.
Jeśli korzystasz z usługi, która monitoruje wszystkie pliki cookie używane w Twojej domenie, musisz powiadomić ją o pliku cookie g_state.
Jeśli nie chcesz wczytywać biblioteki klienta na stronach po zalogowaniu, użyj tych rozwiązań, aby zapobiec zapętleniu po wylogowaniu:
- Po wylogowaniu przekieruj użytkowników na stronę (np.
https://example.com/logged_out), na której logowanie jednym dotknięciem nie jest wyświetlane lub na której automatyczne logowanie jest zawsze wyłączone. - Po wylogowaniu dodaj parametr do adresu URL. Na przykład:
logged_out=1. Podczas renderowania funkcji One Tap za pomocą interfejsu JavaScript API sprawdź ten parametr adresu URL i wyłącz automatyczne logowanie, jeśli jest obecny.
Kluczowe ścieżki użytkownika
stronę logowania automatycznego,
Korzystanie z FedCM
Użytkownicy mogą zamknąć prompt One Tap, klikając przycisk X. Ze względu na ułatwienia dostępu token identyfikacji jest udostępniany Twojej witrynie, nawet jeśli użytkownicy klikną przycisk X.
Aby zwiększyć wygodę użytkowników, między próbami logowania automatycznego obowiązuje 10-minutowy okres wyciszenia. W tym czasie wyświetlana jest prośba o zalogowanie jednym dotknięciem. Użytkownicy muszą wyraźnie kliknąć Logowanie jednym dotknięciem, aby się zalogować.
Bez FedCM

Jeśli użytkownicy nie klikną przycisku Anuluj w ciągu 5 sekund, token identyfikacji zostanie udostępniony Twojej witrynie.
Gdy logowanie zostanie anulowane, w zależności od liczby aktywnych sesji Google wyświetli się strona wyboru konta lub strona powracającego użytkownika.
- Wiele sesji Google

- Pojedyncze sesje Google
