Ta strona referencyjna opisuje interfejs API atrybutów danych HTML funkcji Zaloguj się przez Google, który służy do wyświetlania przycisku Zaloguj się przez Google lub promptu One Tap na stronach internetowych.
Element o identyfikatorze „g_id_onload”
Atrybuty danych funkcji Zaloguj się przez Google możesz umieścić w dowolnych widocznych lub niewidocznych elementach, takich jak <div> i <span>. Jedynym wymaganiem jest ustawienie identyfikatora elementu na g_id_onload. Nie umieszczaj tego identyfikatora w wielu elementach.
Atrybuty danych
W tabeli poniżej znajdziesz listę atrybutów danych wraz z ich opisami:
| Atrybut | |
|---|---|
data-client_id |
Identyfikator klienta aplikacji |
data-color_scheme |
Schemat kolorów zastosowany do promptu One Tap. |
data-auto_prompt |
Wyświetlaj Google One tap. |
data-auto_select |
Włącza automatyczny wybór w funkcji One Tap Google. |
data-login_uri |
URL punktu końcowego logowania |
data-callback |
Nazwa funkcji modułu obsługi tokena identyfikacji JavaScriptu |
data-native_login_uri |
Adres URL punktu końcowego modułu obsługi danych logowania za pomocą hasła. |
data-native_callback |
Nazwa funkcji obsługi danych logowania za pomocą hasła w języku JavaScript |
data-native_id_param |
Nazwa parametru dla wartości credential.id |
data-native_password_param |
Nazwa parametru dla wartości credential.password |
data-cancel_on_tap_outside |
Określa, czy prośba ma zostać anulowana, jeśli użytkownik kliknie poza nią. |
data-prompt_parent_id |
Identyfikator DOM elementu kontenera promptu One Tap. |
data-skip_prompt_cookie |
Pomija logowanie jednym dotknięciem, jeśli określony plik cookie ma niepustą wartość. |
data-nonce |
Losowy ciąg znaków dla tokenów identyfikacji |
data-essential_claims |
Dodatkowe oświadczenia, które mają zostać uwzględnione w tokenie identyfikacji zwracanym przez Google. |
data-context |
tytuł i słowa w promptu One Tap, |
data-moment_callback |
Nazwa funkcji detektora powiadomień o stanie interfejsu prompta |
data-state_cookie_domain |
Jeśli musisz wywołać funkcję One Tap w domenie nadrzędnej i jej subdomenach, przekaż domenę nadrzędną do tego atrybutu, aby używać jednego udostępnionego pliku cookie. |
data-ux_mode |
proces UX przycisku Zaloguj się przez Google, |
data-allowed_parent_origin |
Źródła, które mogą umieszczać pośredni element iframe. Jeśli ten atrybut jest obecny, funkcja One Tap działa w trybie pośredniego elementu iframe. |
data-intermediate_iframe_close_callback |
Zastępuje domyślne działanie pośredniej ramki iframe, gdy użytkownicy ręcznie zamykają funkcję One Tap. |
data-itp_support |
Włącza ulepszoną funkcję One Tap w przeglądarkach z ITP. |
data-login_hint |
Pomiń wybór konta, podając wskazówkę dotyczącą użytkownika. |
data-hd |
Ogranicz wybór konta według domeny. |
data-use_fedcm_for_prompt |
Zezwól przeglądarce na kontrolowanie próśb o zalogowanie się użytkownika i pośredniczenie w procesie logowania między Twoją witryną a Google. |
data-use_fedcm_for_button |
To pole określa, czy w Chrome (wersja M125 lub nowsza na komputerach i M128 lub nowsza na Androidzie) ma być używany interfejs przycisku FedCM. Wartość domyślna to false. |
data-button_auto_select |
Określa, czy włączyć opcję automatycznego wyboru w przepływie przycisku FedCM. Jeśli ta opcja jest włączona, powracający użytkownicy z aktywną sesją Google będą logowani automatycznie, bez wyświetlania prośby o wybranie konta. Wartość domyślna to false. |
Typy atrybutów
W poniższych sekcjach znajdziesz szczegółowe informacje o poszczególnych typach atrybutów oraz przykłady.
data-client_id
Ten atrybut to identyfikator klienta aplikacji, który można znaleźć i utworzyć w konsoli Google Cloud. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Tak | data-client_id="CLIENT_ID.apps.googleusercontent.com" |
data-color_scheme
To pole zawiera schemat kolorów zastosowany do promptu One Tap. Więcej informacji znajdziesz w tabeli poniżej:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalnie. Domyślnie jest to ustawienie domyślne systemu schematu kolorów użytkownika. | data-color_scheme="dark" |
W tabeli poniżej znajdziesz dostępne schematy kolorów i ich opisy.
| Schemat kolorów | |
|---|---|
default |
Zastosuj domyślny schemat kolorów systemu użytkownika. W zależności od preferencji użytkownika schemat jest jasny lub ciemny. |
light |
Zastosuj jasny schemat kolorów. |
dark |
Zastosuj ciemny schemat kolorów. |
data-auto_prompt
Ten atrybut określa, czy wyświetlać funkcję One Tap. Wartością domyślną jest true. Gdy ta wartość to false, funkcja Google One Tap nie jest wyświetlana. Więcej informacji znajdziesz w tabeli poniżej:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-auto_prompt="true" |
data-auto_select
Ten atrybut określa, czy token identyfikacji ma być zwracany automatycznie, bez interakcji użytkownika, jeśli tylko jedna sesja Google zatwierdziła Twoją aplikację.
Wartość domyślna to false. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-auto_select="true" |
data-login_uri
Ten atrybut to identyfikator URI punktu końcowego logowania.
Wartość musi dokładnie odpowiadać jednemu z autoryzowanych identyfikatorów URI przekierowania klienta OAuth 2.0, które zostały skonfigurowane na platformie Google Auth, i musi być zgodna z naszymi regułami sprawdzania poprawności identyfikatorów URI przekierowania.
Ten atrybut można pominąć, jeśli bieżąca strona jest stroną logowania. W takim przypadku dane logowania są domyślnie publikowane na tej stronie.
Odpowiedź z danymi logowania z tokenem identyfikacji jest wysyłana do punktu końcowego logowania, gdy nie jest zdefiniowana funkcja wywołania zwrotnego, a użytkownik kliknie przycisk Zaloguj się przez Google lub One Tap albo nastąpi automatyczne logowanie.
Twój punkt końcowy logowania musi obsługiwać żądania POST zawierające w treści parametr credential z wartością tokena identyfikacji.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Opcjonalny | Przykład |
|---|---|---|
| URL | Domyślnie jest to identyfikator URI bieżącej strony lub podana przez Ciebie wartość. Ignorowana, gdy ustawione są zasady data-ux_mode="popup" i data-callback. |
data-login_uri="https://www.example.com/login" |
data-callback
Ten atrybut to nazwa funkcji JavaScriptu, która obsługuje zwrócony token identyfikacji. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Wymagane, jeśli nie ustawiono data-login_uri. |
data-callback="handleToken" |
Można użyć jednego z atrybutów data-login_uri i data-callback. Zależy to od tych konfiguracji komponentów i trybów UX:
Atrybut
data-login_urijest wymagany w przypadku trybu UXredirectprzycisku Zaloguj się przez Google, który ignoruje atrybutdata-callback.Jeden z tych 2 atrybutów musi być ustawiony dla funkcji Google One Tap i przycisku Logowanie przez Google w trybie UX
popup. Jeśli skonfigurowane są obie zasady, pierwszeństwo ma atrybutdata-callback.
Funkcje JavaScriptu w przestrzeni nazw nie są obsługiwane przez interfejs HTML API.
Zamiast tego użyj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback zamiast mylib.callback.
Funkcja wywołania zwrotnego otrzymuje obiekt CredentialResponse jako parametr.
Szczegółowe informacje o możliwych wartościach odpowiedzi znajdziesz w CredentialResponse.
data-native_login_uri
Ten atrybut to adres URL punktu końcowego modułu obsługi danych logowania za pomocą hasła. Jeśli ustawisz atrybut data-native_login_uri lub data-native_callback, biblioteka JavaScriptu będzie używać wbudowanego menedżera danych logowania, gdy nie będzie sesji Google. Nie możesz ustawić jednocześnie atrybutów data-native_callback i data-native_login_uri. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-login_uri="https://www.example.com/password_login" |
data-native_callback
Ten atrybut to nazwa funkcji JavaScript, która obsługuje dane logowania (hasło) zwrócone przez wbudowany Credential Manager przeglądarki. Jeśli ustawisz atrybut data-native_login_uri lub data-native_callback, biblioteka JavaScriptu będzie korzystać z wbudowanego menedżera danych logowania, gdy nie będzie sesji Google. Nie możesz ustawić jednocześnie data-native_callback i data-native_login_uri. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-native_callback="handlePasswordCredential" |
Funkcje JavaScriptu w przestrzeni nazw nie są obsługiwane przez interfejs HTML API.
Zamiast tego użyj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback zamiast mylib.callback.
data-native_id_param
Gdy przesyłasz dane logowania do punktu końcowego modułu obsługi danych logowania, możesz określić nazwę parametru dla pola credential.id. Domyślna nazwa to email. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| URL | Opcjonalny | data-native_id_param="user_id" |
data-native_password_param
Gdy przesyłasz dane logowania do punktu końcowego modułu obsługi danych logowania, możesz określić nazwę parametru dla wartości credential.password. Domyślna nazwa to password. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| URL | Opcjonalny | data-native_password_param="pwd" |
data-cancel_on_tap_outside
Ten atrybut określa, czy anulować żądanie logowania jednym dotknięciem, jeśli użytkownik kliknie poza promptem. Wartością domyślną jest true. Aby wyłączyć tę funkcję, ustaw wartość na false. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-cancel_on_tap_outside="false" |
data-prompt_parent_id
Ten atrybut ustawia identyfikator DOM elementu kontenera. Jeśli nie jest ustawiony, okno logowania jednym dotknięciem wyświetla się w prawym górnym rogu okna. Więcej informacji znajdziesz w tabeli poniżej:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-prompt_parent_id="parent_id" |
data-skip_prompt_cookie
Używa pliku cookie do kontrolowania wyświetlania promptu One Tap. Jeśli plik cookie określony przez ten atrybut ma niepustą wartość, komunikat nie jest wyświetlany. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-skip_prompt_cookie="SID" |
data-nonce
Ten atrybut to losowy ciąg znaków używany przez token identyfikacji do zapobiegania atakom metodą powtórzenia. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-nonce="biaqbm70g23" |
Długość liczby jednorazowej jest ograniczona do maksymalnego rozmiaru JWT obsługiwanego przez Twoje środowisko oraz do indywidualnych ograniczeń rozmiaru HTTP przeglądarki i serwera.
data-essential_claims
Ten atrybut to ciąg znaków używany do żądania dodatkowych deklaracji, które mają zostać uwzględnione w tokenie identyfikacji zwracanym przez Google. Pełną listę deklaracji akceptowanych przez Google znajdziesz w artykule Obsługiwane deklaracje.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-essential_claims="auth_time, amr" |
data-context
To pole zmienia tekst tytułu i wiadomości wyświetlanych w oknie logowania jednym dotknięciem. Nie ma wpływu na przeglądarki z funkcją ITP. Domyślna wartość to signin.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-context="use" |
W tabeli poniżej znajdziesz wszystkie dostępne konteksty i ich opisy:
| Kontekst | |
|---|---|
signin |
„Zaloguj się w” |
signup |
„Zarejestruj się, aby” |
use |
„Użyj” |
data-moment_callback
Ten atrybut to nazwa funkcji detektora powiadomień o stanie interfejsu promptu. Więcej informacji znajdziesz w opisie typu danych PromptMomentNotification.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-moment_callback="logMomentNotification" |
Funkcje JavaScriptu w przestrzeni nazw nie są obsługiwane przez interfejs HTML API.
Zamiast tego użyj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback zamiast mylib.callback.
data-state_cookie_domain
Jeśli chcesz wyświetlać funkcję One Tap w domenie nadrzędnej i jej subdomenach, przekaż domenę nadrzędną do tego atrybutu, aby używany był pojedynczy plik cookie stanu udostępniania. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-state_cookie_domain="example.com" |
data-ux_mode
Ten atrybut określa proces UX używany przez przycisk Zaloguj się przez Google. Wartością domyślną jest popup. Ten atrybut nie ma wpływu na UX funkcji One Tap. Więcej informacji znajdziesz w tabeli poniżej:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-ux_mode="redirect" |
W tabeli poniżej znajdziesz dostępne tryby UX i ich opisy.
| Tryb UX | |
|---|---|
popup |
Wykonuje proces logowania w wyskakującym okienku. |
redirect |
Przeprowadza proces logowania UX za pomocą przekierowania do pełnej strony. |
data-allowed_parent_origin
Źródła, które mogą umieszczać pośredni element iframe. Jeśli ten atrybut jest obecny, funkcja One Tap działa w trybie pośredniego elementu iframe. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| ciąg tekstowy lub tablica tekstowa | Opcjonalny | data-allowed_parent_origin="https://example.com" |
W tabeli poniżej znajdziesz obsługiwane typy wartości i ich opisy.
| Typy wartości | ||
|---|---|---|
string |
Identyfikator URI pojedynczej domeny. | "https://example.com" |
string array |
Lista identyfikatorów URI domen rozdzielonych przecinkami. | "https://news.example.com,https://local.example.com" |
Jeśli wartość atrybutu data-allowed_parent_origin jest nieprawidłowa, inicjowanie funkcji One Tap w trybie pośredniej ramki iframe nie powiedzie się i zostanie zatrzymane.
Obsługiwane są też prefiksy z symbolami wieloznacznymi. Na przykład "https://*.example.com" pasuje do example.com i jej subdomen na wszystkich poziomach (np. news.example.com, login.news.example.com). O czym należy pamiętać, używając symboli wieloznacznych:
- Ciągi wzorców nie mogą składać się tylko z symbolu wieloznacznego i domeny najwyższego poziomu. Na przykład
https://.comihttps://.co.uksą nieprawidłowe, ponieważ"https://.example.com"pasuje doexample.comi wszystkich jej subdomen. Użyj listy rozdzielonej przecinkami, aby reprezentować 2 różne domeny. Na przykład"https://example1.com,https://.example2.com"pasuje do domenexample1.com,example2.comi subdomenexample2.com. - Domeny z symbolem wieloznacznym muszą zaczynać się od bezpiecznego schematu https://, więc domena
"*.example.com"jest uznawana za nieprawidłową.
data-intermediate_iframe_close_callback
Zastępuje domyślne działanie pośredniego elementu iframe, gdy użytkownicy ręcznie zamykają logowanie jednym dotknięciem, klikając przycisk „X” w interfejsie logowania jednym dotknięciem. Działanie domyślne polega na natychmiastowym usunięciu pośredniego elementu iframe z DOM.
Pole data-intermediate_iframe_close_callback działa tylko w trybie pośredniego elementu iframe. Ma to wpływ tylko na pośredni element iframe, a nie na element iframe logowania jednym dotknięciem. Interfejs One Tap zostanie usunięty przed wywołaniem funkcji oddzwaniania.
| Typ | Wymagane | Przykład |
|---|---|---|
| funkcja | Opcjonalny | data-intermediate_iframe_close_callback="logBeforeClose" |
Funkcje JavaScriptu w przestrzeni nazw nie są obsługiwane przez interfejs HTML API.
Zamiast tego użyj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback zamiast mylib.callback.
data-itp_support
To pole określa, czy ulepszona funkcja One Tap UX powinna być włączona w przeglądarkach obsługujących Intelligent Tracking Prevention (ITP). (wartością domyślną jest false); Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-itp_support="false" |
data-login_hint
Jeśli Twoja aplikacja wie z wyprzedzeniem, który użytkownik powinien się zalogować, może przekazać Google podpowiedź logowania. Jeśli się powiedzie, wybór konta zostanie pominięty. Akceptowane wartości: adres e-mail lub pole sub tokena identyfikacji.
Więcej informacji znajdziesz w dokumentacji OpenID Connect dotyczącej login_hint.
| Typ | Wymagane | Przykład |
|---|---|---|
Ciąg tekstowy. Może to być adres e-mail lub wartość pola sub z tokena identyfikacji. |
Opcjonalny | data-login_hint="elisa.beckett@gmail.com" |
data-hd
Jeśli użytkownik ma kilka kont i powinien logować się tylko na konto Workspace, użyj tej opcji, aby podać Google wskazówkę dotyczącą nazwy domeny. Jeśli się powiedzie, konta użytkowników wyświetlane podczas wyboru konta będą ograniczone do podanej domeny.
Wartość wieloznaczna: * oferuje użytkownikowi tylko konta Workspace i wyklucza konta konsumenckie (użytkownik@gmail.com) podczas wyboru konta.
Więcej informacji znajdziesz w dokumentacji OpenID Connect dotyczącej hd.
| Typ | Wymagane | Przykład |
|---|---|---|
| Ciąg tekstowy. Pełna i jednoznaczna nazwa domeny lub *. | Opcjonalny | data-hd="*" |
data-use_fedcm_for_prompt
Zezwalaj przeglądarce na kontrolowanie próśb o zalogowanie się użytkownika i pośredniczenie w procesie logowania między Twoją witryną a Google. Wartość domyślna to fałsz. Więcej informacji znajdziesz na stronie Migracja do FedCM.
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Wycofano | data-use_fedcm_for_prompt="true" |
data-use_fedcm_for_button
To pole określa, czy w Chrome (wersja M125 lub nowsza na komputerach i M128 lub nowsza na Androidzie) ma być używany interfejs przycisku FedCM. Wartość domyślna to false. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-use_fedcm_for_button="true" |
data-button_auto_select
To pole określa, czy w przypadku procesu przycisku FedCM ma być włączona opcja automatycznego wyboru. Jeśli ta opcja jest włączona, powracający użytkownicy z aktywną sesją Google będą logowani automatycznie, bez wyświetlania prośby o wybranie konta. Wartość domyślna to false. Podczas uruchamiania akceptacji musisz wyraźnie włączyć automatyczne logowanie za pomocą przycisku. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| wartość logiczna | Opcjonalny | data-button_auto_select="true" |
Element z klasą „g_id_signin”
Jeśli dodasz g_id_signin do atrybutu class elementu, element będzie renderowany jako przycisk Zaloguj się przez Google.
Na tej samej stronie możesz wyświetlać wiele przycisków Zaloguj się przez Google. Każdy przycisk może mieć własne ustawienia wizualne. Ustawienia są definiowane przez te atrybuty danych.
Atrybuty danych wizualnych
W tabeli poniżej znajdziesz listę atrybutów danych wizualnych i ich opisy:
| Atrybut | |
|---|---|
data-type |
Typ przycisku: ikona lub przycisk standardowy. |
data-theme |
Motyw przycisku. Na przykład filled_blue lub filled_black. |
data-size |
Rozmiar przycisku. Na przykład mały lub duży. |
data-text |
Tekst przycisku. Na przykład „Zaloguj się przez Google” lub „Zarejestruj się przez Google”. |
data-shape |
Kształt przycisku. Na przykład prostokątny lub okrągły. |
data-logo_alignment |
Wyrównanie logo Google: do lewej lub do środka. |
data-width |
Szerokość przycisku w pikselach. |
data-locale |
Tekst przycisku jest wyświetlany w języku ustawionym w tym atrybucie. |
data-click_listener |
Jeśli ta funkcja jest ustawiona, jest wywoływana po kliknięciu przycisku Zaloguj się przez Google. |
data-state |
Jeśli ten ciąg jest ustawiony, jest zwracany z tokenem identyfikacji. |
Typy atrybutów
W poniższych sekcjach znajdziesz szczegółowe informacje o typach poszczególnych atrybutów oraz przykłady.
data-type
Typ przycisku. Wartością domyślną jest standard. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Tak | data-type="icon" |
W tabeli poniżej znajdziesz wszystkie dostępne typy przycisków i ich opisy:
| Typ | |
|---|---|
standard |
|
icon |
|
data-theme
Motyw przycisku. Wartością domyślną jest outline. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-theme="filled_blue" |
W tabeli poniżej znajdziesz dostępne motywy i ich opisy:
| Motyw | Przykłady | Specyfikacja |
|---|---|---|
outline |
|
Wypełnienie: #FFFFFF Obrys: #747775 | 1 px | wewnątrz Czcionka: #1F1F1F | Roboto Medium | 14/20 Spersonalizowana: #1F1F1F | Roboto | Medium 12/14 | Regular 11/13 |
filled_blue |
|
Wypełnienie: #0B57D0 Obrys: #OB57D0 | 1 px | wewnątrz Czcionka: #FFFFFF | Google Sans Medium | 14/20 Spersonalizowana: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
filled_black |
|
Fill: #202124 Stroke: #OB57D0 | 1px | inside Font: #FFFFFF | Google Sans Medium | 14/20 Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
outline_dark |
|
Wypełnienie: #131314 Obrys: #8E918F | 1 px | wewnątrz Czcionka: #FFFFFF | Google Sans Medium | 14/20 Spersonalizowana: #FFFFFF | Roboto | Medium 12/14 | Zwykła 11/13 |
data-size
Rozmiar przycisku. Wartością domyślną jest large. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-size="small" |
W tabeli poniżej znajdziesz dostępne rozmiary przycisków i ich opisy.
| Rozmiar | |
|---|---|
large |
|
medium |
|
small |
|
data-text
Tekst przycisku. Wartością domyślną jest signin_with. Nie ma wizualnych różnic w tekście przycisków ikon, które mają różne atrybuty data-text. Jedynym wyjątkiem jest sytuacja, gdy tekst jest odczytywany na potrzeby ułatwień dostępu.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-text="signup_with" |
W tabeli poniżej znajdziesz dostępne teksty przycisków i ich opisy:
| Tekst | |
|---|---|
signin_with |
|
signup_with |
|
continue_with |
|
signin |
|
data-shape
Kształt przycisku. Wartością domyślną jest rectangular. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-shape="rectangular" |
W tabeli poniżej znajdziesz dostępne kształty przycisków i ich opisy:
| Kształt | |
|---|---|
rectangular |
icon, jest taki sam jak square.
|
pill |
icon, działa tak samo jak circle.
|
circle |
standard, jest taki sam jak pill.
|
square |
standard, jest taki sam jak rectangular.
|
data-logo_alignment
Wyrównanie logo Google. Wartością domyślną jest left. Ten atrybut dotyczy tylko typu przycisku standard. Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-logo_alignment="center" |
W tabeli poniżej znajdziesz dostępne wyrównania i ich opisy:
| logo_alignment | |
|---|---|
left |
|
center |
|
data-width
Minimalna szerokość przycisku w pikselach. Maksymalna dostępna szerokość to 400 pikseli.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-width=400 |
data-locale
Opcjonalnie. Wyświetlaj tekst przycisku w określonym języku. W przeciwnym razie użyj domyślnego języka konta Google lub ustawień przeglądarki użytkownika. Podczas wczytywania biblioteki dodaj do dyrektywy src parametr hl i kod języka, np. gsi/client?hl=<iso-639-code>.
Jeśli nie jest ustawiona, używane są domyślne ustawienia regionalne przeglądarki lub preferencje użytkownika sesji Google. Dlatego różni użytkownicy mogą widzieć różne wersje zlokalizowanych przycisków, które mogą mieć różne rozmiary.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-locale="zh_CN" |
data-click_listener
Możesz zdefiniować funkcję JavaScript, która będzie wywoływana po kliknięciu przycisku Zaloguj się przez Google, używając atrybutu data-click_listener.
<script>
function onClickHandler(){
console.log("Sign in with Google button clicked...")
}
</script>
.....
<div class="g_id_signin"
data-size="large"
data-theme="outline"
data-click_listener="onClickHandler">
</div>W tym przykładzie po kliknięciu przycisku Zaloguj się przez Google w konsoli jest rejestrowany komunikat Kliknięto przycisk Zaloguj się przez Google….
data-state
Opcjonalnie, ponieważ na tej samej stronie można renderować wiele przycisków Zaloguj się przez Google, możesz przypisać do każdego przycisku unikalny ciąg znaków. Ten sam ciąg znaków zostanie zwrócony wraz z tokenem identyfikacji, dzięki czemu możesz określić, który przycisk został kliknięty przez użytkownika, aby się zalogować.
Więcej informacji znajdziesz w tej tabeli:
| Typ | Wymagane | Przykład |
|---|---|---|
| tekst | Opcjonalny | data-state="button 1" |
Integracja po stronie serwera
Punkty końcowe po stronie serwera muszą obsługiwać te żądania HTTP POST.
Punkt końcowy modułu obsługi tokena identyfikacji
Punkt końcowy modułu obsługi tokena identyfikacji przetwarza token identyfikacji. W zależności od stanu odpowiedniego konta możesz zalogować użytkownika i przekierować go na stronę rejestracji lub na stronę łączenia kont, aby uzyskać dodatkowe informacje. Klienty MUSZĄ ignorować nierozpoznane parametry odpowiedzi.
Przykładowe żądanie wysłane do punktu końcowego logowania:
POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: g_csrf_token=<RANDOM_STRING>
Host: www.example.com
credential=<JWT_ENCODED_ID_TOKEN>&g_csrf_token=<RANDOM_STRING>
Żądanie HTTP POST zawiera te informacje:
| Format | Nazwa | Opis |
|---|---|---|
| Plik cookie | g_csrf_token |
Losowy ciąg znaków, który zmienia się przy każdym żądaniu wysyłanym do punktu końcowego logowania określonego przez data-login_uri. Musi on być zgodny z wartością w parametrze żądania g_csrf_token. |
| Parametr żądania | g_csrf_token |
Losowy ciąg znaków, który zmienia się przy każdym żądaniu wysyłanym do punktu końcowego logowania określonego przez data-login_uri, musi odpowiadać wartości pliku cookie g_csrf_token. |
| Parametr żądania | credential |
Zakodowany token identyfikacji JWT wydany przez Google. |
| Parametr żądania | state |
Ten parametr jest zdefiniowany tylko wtedy, gdy użytkownik kliknie przycisk Zaloguj się przez Google, aby się zalogować, i określony jest atrybut state przycisku. |
dane logowania
Po zdekodowaniu token identyfikacji wygląda jak w tym przykładzie:
header { "alg": "RS256", "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature "typ": "JWT" } payload { "iss": "https://accounts.google.com", // The JWT's issuer "nbf": 161803398874, "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID "sub": "3141592653589793238", // The unique ID of the user's Google Account "hd": "gmail.com", // If present, the host domain of the user's Google Workspace email address "auth_time": 1748875426, "amr": ["mfa", "pwd", "tel"], "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Eliza", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion creation time "exp": 1596477600, // Unix timestamp of the assertion expiration time "jti": "abc161803398874def" }
Klienty MUSZĄ ignorować nierozpoznane oświadczenia JWT.
Pole sub to globalnie unikalny identyfikator konta Google. Tylko pole sub może być używane jako identyfikator użytkownika, ponieważ jest unikalne dla wszystkich kont Google i nigdy nie jest używane ponownie.
Za pomocą pól email, email_verified i hd możesz określić, czy Google hostuje adres e-mail i czy jest on autorytatywny. W przypadkach, gdy Google jest organem nadrzędnym, użytkownik jest potwierdzany jako prawowity właściciel konta.
Przypadki, w których Google jest źródłem informacji:
emailma sufiks@gmail.com, więc jest to konto Gmail.- Jeśli
email_verifiedma wartość true i ustawionohd, jest to konto Google Workspace.
Użytkownicy mogą rejestrować konta Google bez korzystania z Gmaila lub Google Workspace.
Gdy email nie zawiera sufiksu @gmail.com i nie ma hd, Google nie jest urzędem certyfikacji i do weryfikacji użytkownika zalecane jest użycie hasła lub innych metod weryfikacji. Wartość email_verified może być też prawdziwa, jeśli Google zweryfikowało użytkownika podczas tworzenia konta Google, ale od tego czasu mogła nastąpić zmiana właściciela konta e-mail innej firmy.
Pole exp pokazuje czas, po którym wygasa możliwość zweryfikowania tokena po stronie serwera. W przypadku tokena identyfikacji uzyskanego z funkcji Zaloguj się przez Google jest to 1 godzina. Musisz zweryfikować token przed upływem czasu ważności. Nie używaj exp do zarządzania sesjami. Wygasły token identyfikacji nie oznacza, że użytkownik został wylogowany. Aplikacja odpowiada za zarządzanie sesjami użytkowników.
g_csrf_token
Token stanu zapobiegający fałszowaniu. To jest token fałszowania żądań z innych witryn (CSRF) utworzony przez bibliotekę gsi/client. Wartość losowa jest uwzględniana zarówno jako plik cookie, jak i parametr żądania w treści ładunku POST. Jeśli te 2 wartości nie są zgodne podczas przetwarzania żądania na serwerze, żądanie powinno zostać uznane za nieprawidłowe.
stan
Ten parametr jest definiowany tylko wtedy, gdy użytkownik kliknie przycisk Zaloguj się przez Google, aby się zalogować, i określony jest atrybut data-state klikniętego przycisku. Wartość tego pola jest taka sama jak wartość określona w atrybucie data-state przycisku.
Na tej samej stronie można wyrenderować wiele przycisków Zaloguj się przez Google, dlatego każdemu z nich możesz przypisać unikalny ciąg znaków. Dlatego możesz użyć tego parametru state, aby określić, który przycisk został kliknięty przez użytkownika w celu zalogowania się.
Punkt końcowy modułu obsługi danych logowania hasła
Punkt końcowy modułu obsługi danych logowania w postaci hasła przetwarza dane logowania w postaci hasła pobrane przez wbudowany Credential Manager.
Żądanie HTTP POST zawiera te informacje:
| Format | Nazwa | Opis |
|---|---|---|
| Plik cookie | g_csrf_token |
Losowy ciąg znaków, który zmienia się przy każdym żądaniu wysyłanym do punktu końcowego logowania określonego przez data-native_login_uri. Musi on być zgodny z wartością w parametrze żądania g_csrf_token. |
| Parametr żądania | g_csrf_token |
Losowy ciąg znaków, który zmienia się przy każdym żądaniu wysyłanym do punktu końcowego logowania określonego przez data-native_login_uri, musi odpowiadać wartości pliku cookie g_csrf_token. |
| Parametr żądania | email |
Token identyfikacji wydany przez Google. |
| Parametr żądania | password |
Sposób wyboru danych logowania. |