Ten szczegółowy przewodnik pomoże Ci podjąć decyzje dotyczące wszystkich najważniejszych kwestii związanych z integracją.
Zaloguj się przez Google w abstrakcie
Poniżej znajdziesz ogólne instrukcje logowania się lub rejestrowania w Twojej witrynie.
Użytkownicy logują się na stronie Google.
Aby funkcja Zaloguj się przez Google działała, w przeglądarce musi być aktywna sesja Google. Funkcja jednego dotknięcia i logowanie automatyczne są wywoływane tylko wtedy, gdy użytkownicy zalogują się w Google przed wczytaniem Twoich stron internetowych. Ten krok jest opcjonalny w przypadku procesu logowania się przez Google, ponieważ po naciśnięciu przycisku użytkownicy są proszeni o zalogowanie się w Google.
Użytkownicy przeglądają Twoje strony internetowe, na których są osadzone przyciski Jednego dotknięcia, Logowania automatycznego lub Zaloguj się przez Google.
Użytkownicy korzystają z logowania się przez Google jednym dotknięciem, przycisku Logowanie przez Google i kolejnych przepływów interfejsu użytkownika, aby:
- Aby kontynuować, wybierz aktywną sesję Google.
- Uzyskaj zgodę użytkowników na udostępnianie informacji z profilu w Twojej witrynie, jeśli jeszcze jej nie masz.
gdy w przeglądarce jest tylko 1 aktywna sesja Google,
- One Tap automatycznie wybiera jedyną sesję, dzięki czemu pomija stronę wyboru konta.
- Przycisk Zaloguj się przez Google pozostaje na stronie wyboru konta, co pozwala użytkownikom w razie potrzeby dodać nową sesję Google.
Jeśli wybrane konto Google nie było wcześniej używane w Twojej witrynie lub jeśli zgoda została cofnięta, wyświetli się strona zgody.
Po zatwierdzeniu Google zapisze tę decyzję, aby następnym razem pominąć stronę z prośbą o zgodę.
Poświadczenia w formie tokena internetowego JSON (nazywanego też tokenem ID) zawierającego nazwę użytkownika, adres e-mail i zdjęcie profilowe są udostępniane za pomocą wywołania zwrotnego JavaScript lub przesłania zapytania do usługi backendowej.
Zwracanie tokenów ID do funkcji wywołania zwrotnego JavaScriptu po stronie klienta nie służy do ich dekodowania w kodzie JavaScriptu, ale do ich przesyłania na serwer według własnego uznania. Dobrym przykładem jest użycie metody XmlHttpRequest, aby uniknąć ponownego wczytywania strony spowodowanego przesłaniem treści.
Na serwerze dane logowania JWT wydane przez Google są weryfikowane i wykorzystywane do tworzenia nowych kont lub nawiązywania uwierzytelnionych sesji w witrynie.
Stanem logowania użytkownika możesz zarządzać w swojej witrynie.
Stan logowania użytkownika na koncie Google i Twoja aplikacja są od siebie niezależne, z wyjątkiem momentu logowania, gdy wiesz, że użytkownik został uwierzytelniony i zalogowany na swoim koncie Google. Użytkownicy mogą pozostać zalogowani, wylogować się lub przełączyć na inne konto Google, zachowując aktywną sesję w Twojej witrynie.
Podsumowując, podobnie jak logowanie z hasłem, logowanie się przez Google to kolejny sposób uwierzytelniania użytkowników w internecie. Po uwierzytelnieniu funkcja logowania się przez Google nie udostępnia żadnych funkcji do zarządzania sesją w Twojej witrynie.
Dostęp do interfejsów API i usług Google
Mimo że masz zintegrowany interfejs API uwierzytelniania, jak opisano wcześniej, może być konieczne zintegrowanie interfejsu API autoryzacji, jeśli Twoja witryna musi uzyskiwać dostęp do interfejsów API i usług Google w imieniu uwierzytelnionych użytkowników. Podczas gdy uwierzytelnianie zapewnia Twojej witrynie tokeny identyfikacyjne do uwierzytelniania użytkowników, autoryzacja zapewnia Twojej witrynie (oddzielne) tokeny dostępu i uprawnienia do korzystania z interfejsów API i usług Google. Więcej informacji znajdziesz w artykule Autoryzowanie w internecie.
Rozdzielenie UX w przypadku uwierzytelniania i autoryzacji
Jeśli Twoja witryna musi wywoływać interfejsy API uwierzytelniania i autoryzacji, musisz wywoływać je osobno w różnych momentach. Zobacz artykuł Oddzielanie momentów uwierzytelniania i autoryzacji.
Jeśli Twoja witryna w przeszłości prosiła o tokeny uwierzytelniania i autoryzacji jednocześnie, a Ty używasz biblioteki JavaScript Google Identity Services, musisz dostosować interfejs użytkownika, aby oddzielić moment uwierzytelniania od momentu autoryzacji.
- W momencie uwierzytelniania Twoja witryna może się integrować z jednym dotknięciem, logowaniem automatycznym lub przyciskiem Zaloguj się przez Google, aby umożliwić użytkownikom zalogowanie się lub rejestrację w niej.
- W momencie autoryzacji witryna może wywołać interfejs API autoryzacji, aby uzyskać uprawnienia i tokeny dostępu do interfejsów API lub usług Google.
Aby zapewnić płynne przejście i zmniejszenie złożoności, warto podzielić proces na 2 oddzielne kroki.
- Przerzuć interfejs użytkownika, aby oddzielić momenty uwierzytelniania i autoryzacji.
Przejdź na bibliotekę JavaScript Google Identity Services.
HTML API a JavaScript API
Aby zintegrować z swoimi stronami internetowymi przycisk One Tap, automatyczne logowanie lub logowanie przez Google, możesz użyć interfejsu HTML API lub JavaScript API.
Dzięki interfejsowi HTML API masz dostęp do większej liczby wbudowanych funkcji. Na przykład
- Renderowanie przycisku Logowanie jednym dotknięciem lub przycisku Zaloguj się przez Google podczas wczytywania strony.
- Prześlij zwrócone dane logowania do punktu końcowego po stronie serwera, który jest określony przez atrybut
data-login_uri
, po zakończeniu procesu logowania automatycznego, jednokliku lub przekierowania. - Zapobieganie atakom CSRF za pomocą double-submit-cookie.
- Użyj generatora kodu, aby wygenerować kod HTML, a potem skopiuj go do swoich stron HTML.
Za pomocą interfejsu HTML API możesz też napisać kod JavaScript, aby dostosować działanie.
Możesz napisać własny moduł obsługi wywołania zwrotnego, a potem ustawić nazwę funkcji jako atrybut
data-callback
. Jednym z dobrych przykładów jest użycie metody XmlHttpRequest do przesłania zwróconych danych logowania na serwer, aby uniknąć ponownego wczytywania strony spowodowanego domyślnym przesłaniem danych.
Dzięki interfejsowi JavaScript API masz większą elastyczność w niektórych sytuacjach.
- renderowanie funkcji Jednym dotknięciem i przycisku Zaloguj się przez Google w późniejszym czasie. na przykład po wybraniu w menu opcji Logowanie.
- Wielokrotne wywoływanie interfejsu API. Na przykład przycisk Zaloguj się przez Google musi być renderowany za każdym razem, gdy renderowany jest dialog logowania.
- dynamiczne generowanie stron HTML, które utrudnia umieszczanie w nich kodu wywołującego interfejs API;
- Bibliotekę JavaScript Google Identity Services wczytujesz znacznie później.
Kod HTML API może być wywoływany tylko raz: w zdarzeniu onload strony lub zdarzeniu onload biblioteki JavaScript Google Identity Services (w zależności od tego, które z nich nastąpi później). Jeśli działanie interfejsu HTML API nie spełnia Twoich oczekiwań, użyj interfejsu JavaScript API.
Nie używaj interfejsu HTML API z interfejsem JavaScript API na tej samej stronie internetowej do inicjowania strony ani do renderowania przycisku One Tap i przycisku. Sprawdź kod HTML i JavaScript pod kątem miejsc, w których mogą się nakładać. Pamiętaj:
- Używasz interfejsu HTML API, jeśli w Twoim kodzie HTML znajduje się co najmniej 1 element z elementów
<div id='g_id_onload' ... ><id>
lub<div class='g_id_signin' ...></div>
. - Korzystasz z JavaScript API, jeśli w Twoim kodzie JavaScriptu wywoływana jest co najmniej 1 metoda z grupy
initialize()
,prompt()
lubrender()
, niezależnie od tego, czy są one wbudowane czy wczytane z osobnego pliku JavaScript.
Z tych interfejsów JavaScript można korzystać niezależnie od inicjowania lub renderowania przycisku One Tap. Nie mają one odpowiedników w interfejsach HTML:
Zagadnienia związane z przyciskiem Zaloguj się przez Google
W tej sekcji omawiamy kwestie związane z integracją w swojej witrynie przycisku Zaloguj się przez Google.
Wyskakujące okienko a przekierowanie
Specyfikacja OAuth 2.0 uwzględnia przekierowanie HTTP, ale nie zawiera wskazówek dotyczących renderowania wyskakujących okienek. W przypadku wyskakujących okienek, zwłaszcza na komputerach, użytkownicy mogą odczuwać większą wygodę. Dzieje się tak, ponieważ użytkownicy nie są przekierowywani z stron innych firm, a wyskakujące okienko z dialogiem umożliwia im udzielenie zgody w kontekście.
W przypadku wyskakujących okienek dostawca tożsamości musi tworzyć po stronie klienta kanały komunikacji między domenami, aby przekazywać odpowiedzi OAuth z wyskakującego okienka, w którym wyświetla się strona zgody dostawcy tożsamości, do głównego okna, w którym wyświetla się strona strony zewnętrznej. Zazwyczaj kody JavaScript są wymagane po obu stronach, aby wysyłać i odbierać odpowiedź OAuth w oknach.
Przycisk Zaloguj się przez Google obsługuje zarówno wyskakujące okienko, jak i przekierowanie.
Domyślnie używane jest UX wyskakującego okienka. Możesz zmienić UX, ustawiając atrybut data-ux_mode
.
Proces przekierowania przycisku Logowanie przez Google różni się nieco od procesu przekierowania OAuth.
- Proces przekierowania przycisku Zaloguj się przez Google zawsze używa metody
POST
do przesyłania danych logowania na serwer WWW, podczas gdy przekierowanie OAuth zwykle używa metodyGET
. - Parametry przesyłane przez przekierowanie do logowania się przez Google różnią się od tych w procesie przekierowania OAuth.
W przypadku deweloperów korzystających z interfejsu HTML API, niezależnie od tego, którego interfejsu użytkownika używają, dane logowania są zawsze przesyłane do interfejsu data-login_uri
za pomocą metody POST
i tych samych parametrów. Dzięki temu możesz przełączyć tryb UX bez wprowadzania innych zmian w kodzie.
W przypadku interfejsu przekierowania należy dodać data-login_uri
do autoryzowanych identyfikatorów URI przekierowania klienta w Konsoli interfejsów API Google.
Dostosowywanie przycisku
Używanie własnego przycisku nie jest obsługiwane. Nie ma interfejsu API umożliwiającego wywołanie przepływu przycisku w ramach procesu programowego.
Aby włączyć proces logowania za pomocą przycisku Zaloguj się przez Google, wystarczy wyrenderować co najmniej 1 przycisk Zaloguj się przez Google na swoich stronach internetowych. Po kliknięciu tych przycisków uruchamia się i przetwarza się sekwencja przycisków w przejrzysty sposób.
Interfejs API do renderowania przycisków umożliwia dostosowywanie wyglądu i działania przycisku Zaloguj się za pomocą Google. Do interaktywnego projektowania przycisków zalecamy użycie generatora kodu. Nawet jeśli używasz interfejsu JavaScript API, możesz najpierw wygenerować kod HTML, a potem skopiować go do odpowiednich pól w tym interfejsie.
Nie ma interfejsu API, który umożliwiałby witrynom kontrolowanie, czy do renderowania przycisków mają być używane informacje spersonalizowane. Przyciski spersonalizowane są wyświetlane, jeśli wszystkie warunki są spełnione. Więcej informacji znajdziesz w sekcji Zrozumieć personalizację.
Na jednej stronie internetowej możesz umieścić wiele przycisków. Generator kodów może tworzyć tylko jeden przycisk za każdym razem. Możesz go uruchomić kilka razy i skopiować wygenerowany kod <div class='g_id_signin' ...></div>
na stronę internetową.
Sprawdzone metody renderowania przycisków
Ze względu na ochronę prywatności spersonalizowany przycisk jest wyświetlany w ramach elementu iframe z domeny accounts.google.com. W przypadku wolnej sieci wczytywanie ramki może zająć dużo czasu. Aby zmniejszyć opóźnienie, przyciski są renderowane w 2 krokach:
- Wersja przycisku wstawianego jest renderowana w drzewie DOM witryny. To tylko przycisk tekstowy, nie można użyć żadnych danych personalizowanych. Ma to umożliwić użytkownikom jak najszybsze wyświetlenie przycisku.
- Do Google wysyłane jest żądanie iframe w celu załadowania iframe przycisku, który może zawierać informacje spersonalizowane. Po wczytaniu elementu iframe przycisku przycisk wersji inline zostaje usunięty.
Oto kilka sprawdzonych metod, które pozwolą zminimalizować czas oczekiwania na wyświetlenie przycisku Zaloguj się przez Google.
- Wczytaj bibliotekę JavaScript Google Identity Services jak najszybciej. Załadowanie biblioteki JavaScript przed innymi dużymi bibliotekami może być korzystne, zwłaszcza w przypadku przeglądarek mobilnych.
Jeśli przycisk Zaloguj się przez Google jest renderowany dopiero po wybraniu opcji Zaloguj się w menu. Możesz najpierw wyświetlić przycisk Zaloguj się przez Google w ukrytym elemencie, a potem ujawnić go po wybraniu przez użytkownika opcji Zaloguj się w menu.
Ważne informacje o One Tap
Automatyczne logowanie
Funkcja automatycznego logowania umożliwia użytkownikom logowanie się w Twojej witrynie bez konieczności klikania prośby o jeden kliknięcie, jeśli wcześniej udzielili oni zgody na dostęp do Twojej witryny.
Logowanie automatyczne z możliwością anulowania zapewnia te korzyści:
- Może to zwiększyć współczynnik logowania, ponieważ oszczędza 1 działanie użytkownika.
- W przeciwieństwie do cichego logowania się, które jest możliwe dzięki starszej, wycofanej bibliotece JavaScript Google Sign-In, użytkownicy zawsze widzą interfejs użytkownika podczas automatycznego logowania, co daje im kontekst, dlaczego i jak logują się w Twojej witrynie. Użytkownicy mogą też anulować subskrypcję, jeśli tego chcą.
- Automatycznie wybiera konto, którego użytkownik używał wcześniej, co może uniemożliwić mu tworzenie zduplikowanych kont w Twojej witrynie.
Czy chcesz włączyć automatyczne logowanie, zależy od wymagań biznesowych i wygody użytkowników Twojej witryny. Automatyczne logowanie może być dobrym sposobem na przywrócenie stanu sesji, zwłaszcza jeśli większość wylogowań z Twojej witryny jest spowodowana przekroczeniem limitu czasu sesji, a nie wyraźnymi wyborami użytkownika.
Kiedy wyświetlać interfejs One Tap
W przypadku interfejsu HTML API przycisk One Tap jest zawsze wyświetlany po załadowaniu strony. Za pomocą interfejsu API JavaScript możesz kontrolować, kiedy wyświetla się interfejs One Tap. Pamiętaj, że interfejs OneTap może nie wyświetlać się zawsze po wywołaniu interfejsu API z tych powodów:
- Brak aktywnej sesji Google w przeglądarce.
- Wszystkie aktywne sesje Google są wyłączone.
- Okres oczekiwania trwa.
Nie próbuj wyświetlać tylko interfejsu One Tap w przypadku zdarzenia kliknięcia przycisku. Interfejs One Tap może się nie wyświetlać z wymienionych wyżej powodów, a użytkownicy mogą mieć problemy z interfejsem, ponieważ po ich działaniu nic się nie wyświetla. W przypadku zdarzenia kliknięcia przycisku:
Zalecane
- Wyświetlaj okno logowania z opcją logowania się za pomocą hasła i przyciskiem Zaloguj się przez Google, a zarazem wywołuj interfejs One Tap API. Dzięki temu użytkownicy zawsze mają możliwość zalogowania się w Twojej witrynie.
Niezalecane
- Jeśli oferujesz tylko opcję One Tap, użytkownicy mogą mieć problemy z logowaniem, jeśli nie wyświetla się One Tap.
- Używanie wywołania zwrotnego stanu interfejsu użytkownika do wyświetlania innego interfejsu, jeśli nie wyświetla się One Tap. Nie jest to zalecane, ponieważ w przyszłej wersji wywołanie zwrotne stanu w interfejsie użytkownika może nie działać prawidłowo w przypadku zarządzania uwierzytelnieniami federacyjnymi.
Rejestracja jednym dotknięciem w przeglądarkach ITP
Ze względu na inteligentną ochronę przed śledzeniem (ITP) zwykły interfejs One Tap nie działa w przeglądarkach ITP, takich jak Chrome na iOS, Safari i Firefox. W tych przeglądarkach zamiast tego wyświetla się inny interfejs, który zaczyna się od strony powitalnej.
W przypadku przeglądarek ITP można wyłączyć interfejs One Tap. Więcej informacji znajdziesz w dokumentacji dotyczącej obsługi funkcji One Tap w przeglądarkach ITP.
Nie można włączyć tej funkcji w przeglądarkach innych niż ITP, takich jak Chrome na Androidzie, macOS lub Linuxie i Edge.
anulowanie prompta, jeśli użytkownik kliknie poza nim;
Domyślnie prompt One Tap zamyka się automatycznie, gdy użytkownik kliknie poza nim. Możesz to zmienić.
Zalecamy, aby na komputerze trzymać otwarty monit One Tap, ponieważ ekran jest wystarczająco duży.
Zmiana pozycji interfejsu One Tap
Na komputerze możesz zmienić pozycję promptu dotyczącego jednego kliknięcia. Nie zalecamy jednak używania tej funkcji, ponieważ w przyszłej wersji zarządzanie upoważnieniami federacyjnymi nie będzie jej obsługiwać.
Zmiana kontekstu logowania
Funkcja One Tap powinna być częścią większego procesu w Twojej witrynie. Domyślnie interfejs OneTap jest używany w kontekście logowania. Język interfejsu zawiera określone wyrażenia, takie jak „Zaloguj się”. Możesz zmienić atrybut kontekstu, aby utworzyć inny zestaw sformułowań. Możesz wybrać jeden z nagłówków One Tap, który najlepiej pasuje do Twojego procesu użytkownika.
Kontekst | |
---|---|
signin |
„Zaloguj się przez Google” |
signup |
„Zarejestruj się przez Google” |
use |
„Użyj z Google” |
Stan interfejsu obsługi jedno dotknięciem
Aby płynnie integrować się z większym procesem interakcji z użytkownikiem, One Tap może powiadomić Cię o zmianie stanu interfejsu użytkownika. Ta funkcja nie jest jednak obsługiwana w przyszłych wersjach zarządzania uwierzytelnieniami federacyjnym.
One Tap w subdomenach
Domyślnie okres oczekiwania i inne stany usługi One Tap są śledzone osobno dla każdego źródła. Jeśli Twoja witryna wyświetla funkcję One Tap na wielu subdomenach, musisz to wskazać w kodzie interfejsu API.
One Tap na stronach HTML statycznych
Domyślnie biblioteka GIS zakłada, że strony internetowe są generowane dynamicznie. Podczas generowania kodu HTML serwer HTTP sprawdza, czy użytkownik jest zalogowany.
- Jeśli żaden użytkownik nie jest zalogowany, na stronie wynikowej należy uwzględnić kod HTML usługi One Tap, aby można było uruchomić tę usługę i umożliwić użytkownikom zalogowanie się w witrynie.
- Jeśli użytkownicy są już zalogowani, kod HTML usługi One Tap nie powinien być uwzględniony na stronie wynikowej.
W takim przypadku dodanie lub usunięcie kodu interfejsu API HTML One Tap jest obowiązkiem administratora serwera WWW.
Kod interfejsu API HTML One Tap może działać w inny sposób, który jest przeznaczony do witryn zawierających dużo statycznych treści HTML. Kod API One Tap HTML możesz zawsze umieścić na statycznych stronach HTML i określić nazwę pliku cookie sesji używanego w swojej witrynie.
- Jeśli plik cookie sesji nie istnieje, uruchamia się proces One Tap.
- Jeśli plik cookie sesji istnieje, proces One Tap jest pomijany.
W tym przypadku to, czy ma zostać uruchomiony proces One Tap, zależy od stanu sesji pliku cookie, a nie od obecności kodu interfejsu HTML One Tap API w stronie internetowej.
Integracja po stronie serwera
Po zakończeniu procesu logowania automatycznego lub logowania jednym kliknięciem za pomocą przycisku „Zaloguj się przez Google” generowany jest token identyfikacyjny, który jest udostępniany Twojej witrynie. Aby uwierzytelnić użytkownika, należy wprowadzić pewne zmiany po stronie serwera, aby otrzymać i zweryfikować token identyfikacyjny.
Uwagi dotyczące UX
Zazwyczaj musisz dodać punkt końcowy HTTP w swojej domenie, aby obsługiwać odpowiedzi po stronie serwera. Na wrażenia użytkowników mogą mieć wpływ następujące czynniki:
- Czy został wywołany proces logowania się przez Google lub logowania się jednym dotknięciem.
- Określa, czy używany jest interfejs HTML API czy JavaScript API.
- Określa, czy do obsługi odpowiedzi ma być używany URI logowania czy funkcja wywołania zwrotnego JavaScript.
Poniżej opisujemy rzeczywiste wrażenia użytkownika.
W przypadku trybu przekierowania przycisku Zaloguj się przez Google:
- Niezależnie od tego, czy używasz interfejsu HTML API czy JavaScript API, musisz ustawić adres URI logowania. Nie można użyć funkcji wywołania zwrotnego JavaScript, aby obsłużyć odpowiedź, ponieważ użytkownicy zostali już przekierowani z Twojej strony internetowej.
- Omówienie wrażeń użytkownika: po kliknięciu przycisku Zaloguj się przez Google użytkownicy widzą przekierowanie na całą stronę interfejsu Google, gdzie mogą wybrać sesję i zatwierdzić ją.
Gdy to zrobisz, na podany przez Ciebie identyfikator URI logowania zostanie przesłana pełna strona
POST
.
W przypadku trybu UX wyskakującego okienka przycisku Zaloguj się przez Google lub przycisku Zaloguj się przez Google, jeśli używany jest interfejs JavaScript API lub interfejs HTML API i podana jest funkcja wywołania zwrotnego JavaScript:
- Odpowiedzi uwierzytelniania są przekazywane z powrotem do funkcji wywołania zwrotnego JavaScript.
- Podsumowanie dotyczące UX: nad stroną internetową wyświetla się prośba o jeden kliknięcie lub wyskakujące okienko. Gdy użytkownicy zakończą proces w promptach lub wyskakujących oknach dotyczących wyboru sesji i zaakceptowania, funkcja wywołania zwrotnego JavaScript otrzymuje odpowiedzi. Kolejny interfejs użytkownika zależy od tego, jak funkcja wywołania zwrotnego przesyła odpowiedzi do serwera.
W przeciwnym razie (interfejs HTML API z identyfikatorem URI logowania):
- Odpowiedzi uwierzytelniania są przesyłane do identyfikatora URI logowania.
- Podsumowanie dotyczące UX: prośba o jeden kliknięcie lub wyskakujące okienko wyświetla się nad stroną internetową. Gdy użytkownicy zakończą proces w interfejsie w oknie promptu lub wyskakującym okienku, aby wybrać sesję i zatwierdzić ją, odpowiedzi uwierzytelniające zostaną przesłane za pomocą pełnej strony
POST
do podanego przez Ciebie adresu URL logowania.
Zalecamy, aby przesyłać odpowiedzi przycisku One Tap i przycisku Zaloguj się przez Google w sposób spójny.
Zagadnienia związane z bezpieczeństwem
Aby zapobiec atakom polegającym na podszywaniu się pod inną witrynę,
- W przypadku przesyłania postu wywołanego przez bibliotekę JavaScript klienta Google Identity Service możesz użyć wbudowanego wzorca podwójnego przesyłania z wykorzystaniem pliku cookie. Więcej informacji znajdziesz w artykule Weryfikowanie tokena Google ID po stronie serwera.
- Aby przesłać dane do własnego źródła za pomocą XmlHttpRequest, możesz użyć niestandardowego nagłówka HTTP lub innych środków bezpieczeństwa zatwierdzonych przez zespół ds. bezpieczeństwa.
Aby zweryfikować tokeny identyfikacyjne w odpowiedziach uwierzytelniania, zdecydowanie zalecamy użycie biblioteki klienta interfejsu API Google dla danej platformy lub biblioteki JWT ogólnego przeznaczenia.
Najczęstsze pytania
Czy przyciski Logowanie jednym dotknięciem i Zaloguj się przez Google są dostępne w widokach sieciowych?
Nie. Ze względów bezpieczeństwa użytkownicy nie powinni dodawać sesji Google do przeglądarek internetowych. Dlatego w widokach sieciowych są wyłączone, ponieważ nie powinny się tam pojawiać żadne sesje Google.
Czy mogę używać własnego przycisku Zaloguj się przez Google? Nie. Dzięki protokołowi OAuth po stronie serwera lub wcześniejszej wersji biblioteki JavaScript Zaloguj się przez Google podmioty korzystające z tych usług mogły używać wytycznych dotyczących marki Zaloguj się, aby tworzyć własne wersje przycisków Zaloguj się przez Google.
Funkcja ta została jednak usunięta z funkcji Zaloguj się przez Google. Wszystkie przyciski Zaloguj się przez Google muszą być generowane przez bibliotekę JavaScript Google Identity Services. Ta zmiana ma 2 przyczyny.
- Niektóre strony korzystające z usługi nie przestrzegały wytycznych, co prowadziło do niespójności w przyciskach „Zaloguj się przez Google” w różnych witrynach.
- Dzięki generowaniu za pomocą biblioteki nie musisz wprowadzać żadnych zmian, gdy zmieniają się wytyczne dotyczące marki w logowaniu.
Aby zapewnić zgodność z tym regułą, biblioteka JavaScript udostępnia tylko interfejs API do renderowania przycisku, ale nie interfejs API do uruchamiania procesu logowania.
Co zrobić, jeśli moja witryna umożliwia tylko logowanie się przez Google jednym dotknięciem, a nie logowanie się przez Google?
Zalecamy używanie w swojej witrynie zarówno logowania się przez Google jednym dotknięciem, jak i przycisku Logowanie przez Google. Z powodu wykładniczego okresu karencji funkcja One Tap może nie wyświetlać się za każdym razem. Jeśli użytkownicy chcą zalogować się w Twojej witrynie za pomocą swoich kont Google, mogą otworzyć główne okno logowania i zalogować się za pomocą przycisku Zaloguj się przez Google. Pomyślne zalogowanie się za pomocą przycisku Logowanie z Google spowoduje wyczyszczenie stanu odczekiwania funkcji One Tap, dzięki czemu będzie ona dostępna przy następnym logowaniu. Inne przepływy danych z przycisków Google nie mogą anulować okresu oczekiwania w przypadku przycisku One Tap, ponieważ są one w innych binarnych plikach JavaScript.
Jeśli Twoja witryna umożliwia tylko logowanie za pomocą One Tap, a nie za pomocą przycisku Zaloguj się przez Google, możesz zauważyć spadek skuteczności procesu logowania za pomocą One Tap, ponieważ stany wygasania nie są usuwane na czas.
Kiedy jest analizowany kod interfejsu HTML API? Czy kod HTML interfejsu API można zmienić później?
Biblioteka JavaScript Google Identity Services analizuje i wykonuje kod interfejsu HTML API w ramach zdarzenia ładowania biblioteki JavaScript lub zdarzenia DomContentLoaded, zależnie od tego, które z nich nastąpi później.
- Jeśli zdarzenie DOMContentLoaded zostanie wywołane po wczytaniu biblioteki JavaScript, kod HTML API zostanie natychmiast przeanalizowany i wykonany.
- W przeciwnym razie biblioteka JavaScript dodaje komponent do nasłuchiwania zdarzenia DomContentLoaded. Po wywołaniu słuchacz analizuje i wykonuje kod interfejsu HTML API.
Pamiętaj też, że analiza i wykonywanie kodu interfejsu HTML API są wyłączone.
- Po przeanalizowaniu i wykonywaniu kodu wszystkie kolejne zmiany w kodzie API HTML są ignorowane.
- Nie ma interfejsu API, który pozwoliłby deweloperom wywołać proces analizowania lub wykonywania.