Uwagi na temat integracji

Ten szczegółowy przewodnik pomoże Ci podjąć decyzje dotyczące wszystkich głównych problemów z integracją.

W skrócie „Zaloguj się przez Google”

Poniżej znajdziesz ogólne instrukcje dotyczące logowania się lub rejestracji w Twojej witrynie.

  1. Użytkownicy logują się w witrynach Google.

    Aby funkcja Zaloguj się przez Google działała, w przeglądarce powinna być aktywna sesja Google. Logowanie jednym dotknięciem i logowanie automatyczne uruchamiają się tylko wtedy, gdy użytkownicy zalogowali się w Google przed wczytaniem Twoich stron internetowych. Ten krok jest opcjonalny w przypadku przycisku Zaloguj się przez Google, ponieważ po naciśnięciu przycisku użytkownicy są proszeni o zalogowanie się w Google.

  2. Użytkownicy przeglądają Twoje strony internetowe z umieszczonym na nich przyciskiem One Tap, Logowanie automatyczne lub Zaloguj się przez Google.

  3. Użytkownicy wchodzą w interakcję z użyciem jednego dotknięcia, przycisku Zaloguj się przez Google i kolejnych interakcji w celu:

    • Aby kontynuować, wybierz aktywną sesję Google.
    • Uzyskaj zgodę użytkowników na udostępnianie informacji z profilu Twojej witrynie, jeśli jeszcze jej nie wyrazili.

    Jeśli w przeglądarce jest tylko jedna aktywna sesja Google,

    • Jednym dotknięciem automatycznie wybiera się jedyną sesję i pomija stronę wyboru konta.
    • Przycisk Zaloguj się przez Google pozostaje na stronie wyboru konta, co pozwala użytkownikom dodawać w razie potrzeby nową sesję Google.

    Jeśli wybrane konto Google nie było wcześniej używane w Twojej witrynie lub uprawnienia zostały cofnięte, wyświetli się strona zgody.

    Zgoda na użycie przycisku Zaloguj się przez Google

    Po zatwierdzeniu Google zarejestruje decyzję, aby następnym razem pominąć stronę z prośbą o zgodę na przetwarzanie danych.

  4. Dane logowania tokena internetowego JSON (nazywanego również tokenem identyfikatora) zawierające nazwę użytkownika, adres e-mail i zdjęcie profilowe są udostępniane za pomocą modułu obsługi wywołań zwrotnych JavaScript lub przesyłania posta do usługi backendu.

    Zwracanie tokenów identyfikatorów do modułu obsługi wywołania zwrotnego JavaScript po stronie klienta nie polega na zdekodowaniu ich w kodzie JavaScript, ale na przesłaniu go na serwer w odpowiedni sposób. Dobrym przykładem jest użycie żądania XmlHttpRequest, aby uniknąć ponownego załadowania strony spowodowanego przesłaniem posta.

  5. Po stronie serwera dane logowania JWT wydane przez Google są sprawdzane i wykorzystywane do utworzenia nowego konta lub rozpoczęcia uwierzytelnionej sesji w Twojej witrynie.

    Stanem logowania użytkownika będziesz zarządzać we własnej witrynie.

    Aplikacja użytkownika i jego aplikacja są niezależne od siebie, chyba że już w momencie logowania się wiadomo, że użytkownik uwierzytelnił się i jest zalogowany na swoje konto Google. Użytkownicy mogą w dalszym ciągu pozostać zalogowani, wylogować się lub przełączyć na inne konto Google i zachować aktywną, zalogowaną sesję w Twojej witrynie.

W skrócie, podobnie jak w przypadku logowania opartego na haśle, funkcja Zaloguj się przez Google to kolejny sposób uwierzytelniania użytkowników w internecie. Funkcja Zaloguj się przez Google nie udostępnia żadnych funkcji do zarządzania sesjami w Twojej witrynie po uwierzytelnieniu.

Dostęp do interfejsów API i usług Google

Po zintegrowaniu interfejsu API uwierzytelniania w sposób opisany powyżej może być też konieczne zintegrowanie interfejsu authorization API, jeśli witryna musi mieć dostęp do interfejsów API i usług Google w imieniu uwierzytelnionych użytkowników. Podczas uwierzytelniania witryna udostępnia tokeny identyfikatorów do uwierzytelniania użytkowników, a autoryzacja zapewnia witrynie (osobne) tokeny dostępu i uprawnienia do korzystania z interfejsów API i usług Google. Więcej informacji znajdziesz w artykule Autoryzacja w internecie.

Rozdzielenie uwierzytelniania i autoryzacji między UX

Jeśli witryna musi wywoływać interfejsy API uwierzytelniania i autoryzacji, musisz wywoływać je oddzielnie w różnych momentach. Przeczytaj sekcję Rozdzielanie momentów uwierzytelniania i autoryzacji.

Jeśli Twoja witryna jednocześnie prosiła o tokeny uwierzytelniania i autoryzacji, korzystając z biblioteki JavaScript Google Identity Services, musisz dostosować interfejs użytkownika tak, aby oddzielać moment uwierzytelniania od momentu autoryzacji.

  • W momencie uwierzytelnienia Twoja witryna może zostać zintegrowana z przyciskiem logowania jednokrotnego, logowania automatycznego lub Zaloguj się przez Google, aby umożliwić użytkownikom logowanie się lub rejestrowanie się w Twojej witrynie.
  • W momencie autoryzacji Twoja witryna może wywołać interfejs API autoryzacji, aby uzyskać uprawnienia i tokeny dostępu do interfejsów API lub usług Google.

Aby płynnie przejść na UX i zmniejszyć złożoność, warto podzielić proces na 2 osobne etapy.

  1. refaktoryzować UX, aby oddzielić momenty uwierzytelniania i autoryzacji;
  2. Przejdź do biblioteki JavaScript Google Identity Services.

Interfejs API HTML i JavaScript API

Możesz użyć interfejsu HTML API lub interfejsu JavaScript API, aby zintegrować ze swoimi stronami przycisk 1 kliknięcie, logowanie automatyczne lub Zaloguj się przez Google.

Interfejs HTML API ma więcej wbudowanych funkcji. Przykład:

  • Renderowanie ekranu jednym dotknięciem lub przyciskiem Zaloguj się przez Google podczas wczytywania strony.
  • Prześlij zwrócone dane uwierzytelniające do punktu końcowego po stronie serwera określonego w atrybucie data-login_uri po zakończeniu 1 kliknięcia, automatycznego logowania lub wyskakującego okienka/przekierowania przycisku.
  • Zapobiegaj atakom CSRF, stosując metodę double-submit-cookie.
  • Użyj generatora kodu, aby wygenerować kod HTML, a potem skopiuj go na swoje strony HTML.

Korzystając z interfejsu API HTML, możesz też napisać jakiś kod JavaScript, aby dostosować działanie interfejsu.

  • Możesz wpisać własny moduł obsługi wywołania zwrotnego, a potem ustawić nazwę funkcji na atrybut data-callback. Dobrym przykładem jest użycie żądania XmlHttpRequest do przesłania zwróconych danych logowania na serwer. Pozwala to uniknąć ponownego załadowania strony spowodowanego domyślnymi danymi logowania.

Interfejs JavaScript API zapewnia większą elastyczność w niektórych scenariuszach opisanych poniżej.

  • Renderowanie jednego dotknięcia i przycisku Zaloguj się przez Google w późniejszym czasie. Jest to możliwe na przykład wtedy, gdy użytkownicy wybiorą z menu Login (Zaloguj się).
  • Wielokrotne wywołanie interfejsu API. Na przykład przycisk Zaloguj się przez Google musi być renderowany przy każdym renderowaniu okna logowania.
  • dynamiczne generowanie stron HTML, co utrudnia osadzanie na nich kodu wywołującego interfejs API.
  • Biblioteka JavaScript usług tożsamości Google wczytuje się znacznie później.

Kod HTML API może być wywoływany tylko raz w zdarzeniu onload na stronie lub w zdarzeniu onload biblioteki Google Identity Services, zależnie od tego, co 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 renderowania jednym dotknięciem i przyciskami. Sprawdź swój kod (HTML i JavaScript) pod kątem miejsc, w których mogą się one pokrywać. Pamiętaj:

  • Używasz interfejsu HTML API, jeśli co najmniej jeden z elementów <div id='g_id_onload' ... ><id> lub <div class='g_id_signin' ...></div> znajduje się w kodzie HTML.
  • Używasz interfejsu JavaScript API, jeśli co najmniej jedna metoda w initialize(), prompt() lub render() jest wywołana w kodzie JavaScript, niezależnie od tego, czy są one w treści, czy załadowane z oddzielnego pliku JavaScript.

Tych interfejsów API JavaScript można używać niezależnie od inicjowania czy renderowania jednym dotknięciem i przyciskiem. Te interfejsy nie mają odpowiadających im interfejsów API HTML:

Uwagi na temat funkcji Zaloguj się przez Google

Wyskakujące okienko a przekierowywanie

Specyfikacja OAuth 2.0 uwzględnia przekierowania HTTP, ale nie zawiera wskazówek dotyczących renderowania wyskakujących okienek. Wyskakujące okienko, szczególnie w przypadku stron na komputery, może zapewnić użytkownikom lepsze wrażenia. Użytkownicy nie są przekierowywani ze stron zewnętrznych, a przypominające wyskakujące okienko umożliwia przyznawanie uprawnień w kontekście.

W wyskakującym okienku interfejs dostawcy tożsamości musi wykorzystywać kanały komunikacji między domenami, aby przekazywać odpowiedzi OAuth z wyskakującego okienka, na którym wyświetla się strona z prośbą o zgodę dostawcy tożsamości, do głównego okna, w którym wyświetla się strona zewnętrzna. Zwykle do wysyłania i odbierania odpowiedzi OAuth w różnych oknach po obu stronach wymagane są kody JavaScript.

Przycisk Zaloguj się przez Google obsługuje zarówno wyskakujące okienko, jak i przekierowywanie. Domyślnie używane jest wyskakujące okienko. Możesz zmienić wygodę użytkowników, ustawiając atrybut data-ux_mode.

Istnieją pewne różnice między procedurą przekierowania przycisku Zaloguj się przez Google a procesem przekierowania OAuth.

  • Proces przekierowania przycisku Zaloguj się przez Google zawsze używa metody POST do przesyłania danych logowania na Twój serwer WWW, natomiast przekierowanie OAuth zwykle używa metody GET.
  • Parametry przesyłane w ramach procesu przekierowania przycisku Zaloguj się przez Google różnią się od tych w procesie przekierowania OAuth.

Niezależnie od tego, który interfejs API jest używany, dane logowania są zawsze przesyłane do data-login_uri za pomocą metody POST i tych samych parametrów. Pozwala to przełączać tryb UX bez wprowadzania innych zmian w kodzie. W przypadku UX przekierowania musisz dodać data-login_uri do autoryzowanych identyfikatorów URI przekierowania klienta w konsoli interfejsów API Google.

Dostosowanie przycisku

Używanie własnego przycisku nie jest obsługiwane. Nie ma interfejsu API do automatycznego inicjowania przepływu przycisku.

Aby włączyć proces przycisku Zaloguj się przez Google, wystarczy wyrenderować co najmniej 1 przycisk Zaloguj się przez Google na swoich stronach internetowych. Proces przycisku jest inicjowany i obsługiwany w przejrzysty sposób po kliknięciu tych przycisków przez użytkowników.

Interfejs API renderowania przycisku umożliwia dostosowanie wyglądu i sposobu działania przycisku Zaloguj się przez Google. Do interaktywnego projektowania przycisków zalecamy korzystanie z 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 interfejsie JavaScript API.

Nie ma interfejsu API, który pozwalałby witrynom kontrolować, czy do renderowania przycisków mają służyć informacje spersonalizowane. Personalizowane przyciski wyświetlają się, gdy są spełnione wszystkie warunki. Więcej informacji znajdziesz w artykule Informacje o przycisku Spersonalizowane.

Na jednej stronie internetowej możesz umieścić wiele przycisków. Za każdym razem generator kodu może utworzyć tylko jeden przycisk. Możesz go uruchomić kilka razy, a potem skopiować wygenerowany kod <div class='g_id_signin' ...></div> do kodu strony internetowej.

Sprawdzone metody renderowania przycisków

Ze względu na ochronę prywatności spersonalizowany przycisk jest wyświetlany w elemencie iframe z domeny accounts.google.com. Wczytywanie elementu iframe może być czasochłonne w przypadku powolnej sieci. Aby ograniczyć ten problem z opóźnieniami, przyciski są renderowane w 2 krokach:

  1. Wersja przycisku wbudowanego jest renderowana w drzewie DOM Twojej witryny. To tylko przycisk tekstowy, nie można używać spersonalizowanych informacji. Chodzi o to, żeby użytkownik mógł zobaczyć przycisk tak szybko, jak to możliwe.
  2. Żądanie iframe jest wysyłane do Google w celu wczytania elementu iframe przycisku, który może zawierać spersonalizowane informacje. Po wczytaniu elementu iframe przycisku usuwany jest wbudowany przycisk wersji.

Poniżej znajdziesz sprawdzone metody minimalizacji czasu oczekiwania na wyświetlenie przycisku Zaloguj się przez Google.

  • Wczytaj bibliotekę JavaScript Google Identity Services jak najwcześniej. Spróbuj załadować bibliotekę JavaScript przed innymi dużymi bibliotekami, zwłaszcza w przeglądarce mobilnej.
  • Przycisk Zaloguj się przez Google wyświetla się dopiero po tym, jak użytkownik wybierze z menu Zaloguj się. Przycisk Zaloguj się przez Google można najpierw wyrenderować w ukrytym elemencie, a potem wyświetlić go dopiero wtedy, gdy użytkownik wybierze z menu opcję Zaloguj się.

Uwagi na temat jednego dotknięcia

Logowanie automatyczne

Możliwość anulowania logowania automatycznego ma opisane poniżej korzyści.

  • Może to poprawić współczynnik logowania, zapisując 1 działanie użytkownika.
  • W przeciwieństwie do wycofanej biblioteki JavaScript logowania przez Google użytkownicy zawsze widzą interfejs dyskretnego logowania, który informuje ich o przyczynach logowania w Twojej witrynie i w jaki sposób. W razie potrzeby użytkownicy mogą też anulować subskrypcję.
  • Automatycznie wybiera konto, którego użytkownik używał wcześniej, co może uniemożliwić mu tworzenie duplikatów kont w Twojej witrynie.

To, czy włączyć logowanie automatyczne, musisz podjąć na podstawie wymagań użytkownika i firmowej strony. Zwłaszcza, jeśli większość wylogowania z witryny jest spowodowana limitem czasu sesji, a nie wyraźnym wyborem użytkownika, automatyczne logowanie może być dobrym sposobem na przywrócenie stanu sesji.

Kiedy wyświetlać interfejs jednym dotknięciem

W interfejsie HTML API jedno dotknięcie zawsze wyświetla się podczas wczytywania strony. Za pomocą kodu JavaScript

API, możesz kontrolować, kiedy ma się wyświetlać interfejs One Tap. Uwaga: interfejs użytkownika za pomocą jednego kliknięcia może nie zawsze wyświetlać się po wywołaniu interfejsu API z kilku powodów opisanych poniżej.

  • Brak aktywnej sesji Google w przeglądarce.
  • Wszystkie aktywne sesje Google są wyłączone.
  • Trwa stylizacja.

Nie próbuj wyświetlać interfejsu jednego dotknięcia w przypadku zdarzenia kliknięcia przycisku. Interfejs użytkownika może się nie wyświetlać jednym dotknięciem z powyższych powodów, a użytkownicy mogą mieć problemy z obsługą, ponieważ po wykonaniu czynności nic się nie wyświetla. Przy zdarzeniu kliknięcia przycisku:

Zalecane

  • Wyświetl okno logowania z logowaniem hasła i przyciskiem Zaloguj się przez Google oraz wywołuj jednocześnie interfejs One Tap API. Dzięki temu użytkownicy zawsze będą mieli możliwość zalogowania się w Twojej witrynie.

Niezalecane

One Tap w przeglądarkach ITP

Ze względu na funkcję Intelligent Tracking Prevention (ITP) standardowy interfejs One Tap nie działa w przeglądarkach ITP, takich jak Chrome na iOS, Safari i Firefox. W tych przeglądarkach dostępny jest inny interfejs rozpoczynający się od strony powitalnej.

Jeśli chcesz, możesz wyłączyć funkcję One Tap w przeglądarkach ITP. Więcej informacji znajdziesz w artykule Obsługa jednym dotknięciem w przeglądarkach ITP.

Tego UX nie można włączyć w przeglądarkach innych niż ITP, takich jak Chrome na urządzeniach z Androidem/macOS/Linux i Edge.

Anuluj prośbę, jeśli użytkownik przejdzie na inną stronę

Domyślnie prośba jednym dotknięciem zamyka się automatycznie, gdy użytkownik kliknie ją poza tym. Możesz to zmienić.

Zalecamy, aby okno dialogowe jednym dotknięciem pozostawało otwarte na stronie internetowej na komputerze, ponieważ rozmiar ekranu jest dostatecznie duży.

Zmienianie pozycji UX jednym dotknięciem

Na komputerze możesz zmienić pozycję promptu jednym dotknięciem. Ta funkcja nie jest jednak zalecana, ponieważ w przyszłej wersji sfederowane zarządzanie danymi uwierzytelniającymi nie będzie już obsługiwane.

Zmienianie kontekstu logowania

Korzystanie z jednego kliknięcia powinno być częścią większego procesu UX w Twojej witrynie. Domyślnie interfejs użytkownika jednym kliknięciem jest używany w kontekście logowania. Język interfejsu zawiera określone słowa, np. „zaloguj się”. Możesz zmienić atrybut kontekstu, aby utworzyć inny zestaw słów. Możesz wybrać jeden z nagłówków jednym dotknięciem, który najlepiej spełni Twoje oczekiwania.

kontekst,
signin „Zaloguj się przez Google”
signup „Zarejestruj się przez Google”
use „Używaj z Google”

Stan w interfejsie do słuchania jednym dotknięciem

Aby zapewnić płynną integrację z większym interfejsem użytkownika, jedno dotknięcie może powiadamiać Cię o zmianach stanu interfejsu. Ta funkcja nie będzie jednak obsługiwana w przyszłych wersjach sfederowanego zarządzania danymi uwierzytelniającymi.

Jedno kliknięcie w subdomenach

Domyślnie czas oczekiwania jednym dotknięciem i inne stany są monitorowane w poszczególnych źródłach. Jeśli Twoja witryna wyświetla jedno dotknięcie w wielu subdomenach, musisz poinformować o tym w kodzie interfejsu API.

Na statycznych stronach HTML jednym dotknięciem

Domyślnie biblioteka GIS zakłada, że strony internetowe są generowane dynamicznie. Podczas generowania kodu HTML serwer HTTP sprawdza stan logowania użytkownika.

  • Jeśli żaden użytkownik nie jest zalogowany, na stronie z wynikami powinien być widoczny kod HTML jednym dotknięciem, tak aby użytkownicy mogli logować się w witrynie jednym dotknięciem.
  • Jeśli użytkownicy są już zalogowani, kod HTML jednym dotknięciem nie powinien być uwzględniany na stronie wyjściowej.

W takim przypadku to serwer WWW odpowiada za dodanie lub usunięcie kodu HTML API jednym dotknięciem.

Kod interfejsu One Tap HTML API może działać w inny sposób, który został zaprojektowany z myślą o witrynach zawierających dużą ilość statycznych treści HTML. Zawsze możesz umieścić na statycznych stronach HTML kod HTML interfejsu One Tap HTML API i określić nazwę pliku cookie sesji używaną w witrynie.

  • Jeśli plik cookie sesji nie istnieje, uruchamiany jest proces jednym dotknięciem.
  • Jeśli plik cookie sesji istnieje, proces jednego dotknięcia jest pomijany.

W takim przypadku o tym, czy uruchomić proces jednym dotknięciem, decyduje stan pliku cookie sesji, a nie kod HTML interfejsu One Tap HTML API na Twojej stronie.

Integracja po stronie serwera

Po wykonaniu logowania automatycznego lub uruchomienia przycisku Zaloguj się przez Google za pomocą jednego dotknięcia zostanie też wydany token tożsamości, który zostanie udostępniony Twojej witrynie. Uwierzytelnienie użytkownika wymaga wprowadzenia pewnych zmian po stronie serwera w celu odebrania i zweryfikowania tokena identyfikatora.

Kwestie UX

Zwykle musisz dodać punkt końcowy HTTP we własnym punkcie początkowym, aby obsługiwać odpowiedzi po stronie serwera. Na UX mogą mieć wpływ wymienione niżej czynniki.

Rzeczywisty UX opisujemy poniżej.

  1. W przypadku przekierowania przycisku Zaloguj się przez Google do trybu UX:

    • Niezależnie od tego, czy używany jest interfejs API HTML czy JavaScript API, musisz ustawić identyfikator URI logowania. Używanie funkcji wywołania zwrotnego JavaScriptu do obsługi odpowiedzi nie jest możliwe, ponieważ użytkownicy zostali już przekierowani na inną stronę.
    • Podsumowanie UX: po kliknięciu przycisku Zaloguj się przez Google użytkownicy widzą przekierowanie na całą stronę do interfejsu Google, gdzie mogą wybrać i zatwierdzić sesję. Gdy to zrobisz, pod podany przez Ciebie identyfikator URI logowania zostanie przesłany POST całej strony.
  2. W przypadku wyskakującego okienka z przyciskiem Zaloguj się przez Google jednym dotknięciem lub w wyskakującym okienku w trybie UX przycisku Zaloguj się przez Google, jeśli korzystasz z interfejsu JavaScript API lub interfejsu HTML API oraz do funkcji wywołania zwrotnego JavaScriptu:

    • Odpowiedzi uwierzytelniania są przekazywane z powrotem do funkcji wywołania zwrotnego JavaScriptu.
    • Podsumowanie UX: nad stroną internetową wyświetla się prośba o jedno dotknięcie lub wyskakujące okienko. Gdy użytkownik zakończy interfejs użytkownika w oknie z prośbą lub wyskakującym okienkiem o wybór i zatwierdzenie sesji, funkcja wywołania zwrotnego JavaScriptu otrzyma odpowiedzi. O wygodzie korzystania z aplikacji decyduje to, w jaki sposób funkcja wywołania zwrotnego przesyła odpowiedzi na serwer.
  3. W przeciwnym razie (w interfejsie HTML API z zastosowaniem wielkości liter identyfikatora URI logowania):

    • Odpowiedzi uwierzytelniania są przesyłane do identyfikatora URI logowania.
    • Podsumowanie UX: nad stroną internetową wyświetla się prośba o jedno dotknięcie lub wyskakujące okienko. Gdy użytkownik zakończy interfejs użytkownika w oknie lub wyskakującym okienku umożliwiającym wybór i zatwierdzanie sesji, odpowiedzi uwierzytelniające są przesyłane za pomocą pełnoekranowej strony POST na podany adres URL logowania.

Zalecamy, aby w spójny sposób przesyłać odpowiedzi za pomocą jednego dotknięcia i przycisku Zaloguj się przez Google.

Kwestie bezpieczeństwa

Aby zapobiegać atakom polegającym na sfałszowaniu żądania z innej witryny:

  • W przypadku przesyłania danych wywoływanych przez bibliotekę JavaScript klienta Google Identity Service możesz użyć wbudowanego wzorca double-submit-cookie. Więcej informacji znajdziesz w artykule Weryfikowanie tokena identyfikatora Google po stronie serwera.
  • Aby przesyłać żądania do swojego źródła za pomocą XmlHttpRequest, możesz użyć niestandardowego nagłówka HTTP lub innych zabezpieczeń zatwierdzonych przez Twój zespół ds. bezpieczeństwa.

Jeśli chcesz zweryfikować tokeny tożsamości w odpowiedziach uwierzytelniania, zdecydowanie zalecamy użycie biblioteki klienta interfejsu API Google na swojej platformie lub biblioteki ogólnego użytku JWT.

Najczęstsze pytania

  • Czy przycisk One Tap i Zaloguj się przez Google jest dostępny w komponentach WebView?

    Nie. Ze względów bezpieczeństwa użytkownicy nie powinni dodawać sesji Google do komponentów WebView. GIS są wyłączone w komponentach WebView, ponieważ nie powinny zawierać sesji Google.

  • Czy mogę używać własnego przycisku Zaloguj się przez Google? Nie. Dzięki zastosowaniu przepływu po stronie serwera OAuth lub starszej wersji biblioteki JavaScript Google Sign In uczestnicy mogli skorzystać ze wskazówek dotyczących promowania marki przy logowaniu, aby utworzyć własne wersje przycisków Logowanie przez Google.

    Usunęliśmy jednak tę funkcję z funkcji Zaloguj się przez Google. Wszystkie przyciski Zaloguj się przez Google muszą być generowane przez bibliotekę JavaScript usług Google Identity Services. Istnieją 2 powody tej zmiany.

    • Niektóre podmioty polegające nie zastosowały się do tych wytycznych, co prowadzi do niespójności przycisków Zaloguj się przez Google w różnych witrynach.
    • Jeśli generujesz je przy użyciu biblioteki, nie musisz wprowadzać żadnych zmian, gdy zmienią się wskazówki dotyczące marki przy logowaniu.

    Aby wyegzekwować tę regułę, biblioteka JavaScript udostępnia tylko interfejs API do renderowania przycisku, ale nie umożliwia uruchomienia procesu logowania przez interfejs API.

  • Co zrobić, jeśli moja witryna obsługuje tylko jedno dotknięcie, ale nie używa przycisku Zaloguj się przez Google?

    Zalecamy korzystanie w witrynie zarówno z przycisku jednego dotknięcia, jak i przycisku Zaloguj się przez Google. Ze względu na wykładniczy okres schładzania informacje jednym dotknięciem mogą nie być wyświetlane za każdym razem. Gdy użytkownicy naprawdę 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 logowanie przy użyciu przycisku Zaloguj się przez Google wyczyści stan oczekiwania do 1 dotknięcia, aby umożliwić wyświetlenie przy następnym logowaniu. Inne przepływy przycisków z Google nie mogą wyczyścić stanów oczekiwania jednym dotknięciem, ponieważ są one w różnych plikach binarnych JavaScript.

    Jeśli w Twojej witrynie jest włączone tylko jedno dotknięcie, ale nie przycisk Zaloguj się przez Google, może nastąpić spadek wydajności procesu jednym dotknięciem, ponieważ ze względu na wykładniczy stan oczekiwania na urządzenie nie jest od razu usuwany.

  • Kiedy kod interfejsu HTML API jest analizowany? Czy mogę później zmienić kod HTML API?

    Biblioteka JavaScript usług tożsamości Google analizuje i wykonuje kod interfejsu HTML API w zdarzeniu wczytywania biblioteki JavaScript lub w zdarzeniu DomContentLoaded (w zależności od tego, co nastąpi później).

    • Jeśli zdarzenie DomContentLoaded jest wywoływane podczas wczytywania biblioteki JavaScript, kod HTML API jest natychmiast analizowany i wykonywany.
    • W przeciwnym razie biblioteka JavaScript dodaje odbiornik zdarzenia DomContentLoaded. Po uruchomieniu detektor analizuje i wykona kod HTML API.

    Pamiętaj też, że analiza i wykonywanie kodu HTML interfejsu API odbywa się tylko raz.

    • Po analizie i wykonaniu wszystkie późniejsze zmiany w kodzie interfejsu API HTML będą ignorowane.
    • Nie ma interfejsu API, który pozwalałby programistom aktywować proces analizowania lub wykonywania.