Na tej stronie referencyjnej opisano interfejs API funkcji Zaloguj się przez Google oparty na danych HTML. Za pomocą interfejsu API możesz wyświetlić na swojej stronie internetowej żądanie jednym dotknięciem lub przycisk Zaloguj się przez Google.
Element o identyfikatorze „g_id_onload”
Atrybuty danych z funkcji Zaloguj się przez Google możesz umieszczać w dowolnym widocznym lub niewidocznym miejscu, np. <div>
i <span>
. Jedynym wymaganiem jest ustawienie identyfikatora elementu na wartość g_id_onload
. Nie umieszczaj tego identyfikatora na wielu elementach.
Atrybuty danych
Poniższa tabela zawiera atrybuty danych wraz z opisami:
Atrybut | |
---|---|
data-client_id |
Identyfikator klienta aplikacji |
data-auto_prompt |
Wyświetl Google One. |
data-auto_select |
Włącza automatyczny wybór w Google One Tap. |
data-login_uri |
URL punktu końcowego logowania |
data-callback |
Nazwa funkcji modułu obsługi tokena JavaScript |
data-native_login_uri |
URL punktu końcowego modułu obsługi danych logowania |
data-native_callback |
Nazwa funkcji obsługi danych logowania do hasła JavaScript |
data-native_id_param |
Nazwa parametru w wartości credential.id |
data-native_password_param |
Nazwa parametru w wartości credential.password |
data-cancel_on_tap_outside |
Określa, czy anulować powiadomienie, jeśli użytkownik kliknie powiadomienie poza polem. |
data-prompt_parent_id |
Identyfikator DOM elementu kontenera One Touch |
data-skip_prompt_cookie |
Pomija jedno kliknięcie, jeśli określony plik cookie nie jest pusty. |
data-nonce |
Losowy ciąg tokenów tożsamości |
data-context |
Tytuł i słowa w komunikacie jednym dotknięciem |
data-moment_callback |
Nazwa funkcji detektora powiadomień o stanie interfejsu |
data-state_cookie_domain |
Jeśli musisz wywołać tryb jednego kliknięcia w domenie nadrzędnej i jej subdomenach, przekaż domenę nadrzędną do tego atrybutu, aby był używany jeden udostępniony plik cookie. |
data-ux_mode |
Proces logowania się za pomocą przycisku Zaloguj się przez Google |
data-allowed_parent_origin |
Źródła, które mogą umieszczać pośredni element iframe. Jeśli ten atrybut występuje, jedno dotknięcie zadziała w pośrednim trybie elementu iframe. |
data-intermediate_iframe_close_callback |
Zastępuje domyślne pośrednie elementy iframe, gdy użytkownik ręcznie zamyka jedno dotknięcie. |
data-itp_support |
Włącza UX One Touch w przeglądarkach ITP. |
Typy atrybutów
W poniższych sekcjach znajdziesz szczegółowe informacje o typach atrybutów i ich przykłady.
data-client_id,
Ten atrybut to identyfikator klienta aplikacji. Można go znaleźć i utworzyć w Konsoli Google Developers. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Tak | data-client_id="CLIENT_ID.apps.googleusercontent.com" |
data-auto_prompt
Ten atrybut określa, czy wyświetlać jedno kliknięcie. Wartością domyślną jest true
. Kliknięcie w Google One nie będzie widoczne, gdy ta wartość to false
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
wartość logiczna | Opcjonalnie | data-auto_prompt="true" |
wybór danych automatycznie
Ten atrybut określa, czy token tożsamości ma być zwracany automatycznie, bez interakcji użytkownika, jeśli aplikacja została zatwierdzona tylko w jednej sesji Google. Wartość domyślna to false
. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
wartość logiczna | Opcjonalnie | data-auto_select="true" |
data-login_uri
Ten atrybut to identyfikator URI punktu końcowego logowania.
Wartość musi być zgodna z jednym z autoryzowanych identyfikatorów URI przekierowania klienta OAuth 2.0, które zostały skonfigurowane w konsoli API i muszą być zgodne z naszymi regułami weryfikacji identyfikatora URI przekierowania.
Możesz go pominąć, jeśli bieżąca strona logowania jest Twoją stroną, na której w tym przypadku dane logowania są domyślnie publikowane na tej stronie.
Odpowiedź dotycząca identyfikatora tokena tokena jest publikowana w punkcie końcowym logowania, gdy nie ma zdefiniowanej funkcji wywołania zwrotnego, a użytkownik klika przycisk Zaloguj się przez Google lub One Touch albo następuje automatyczne zalogowanie.
Więcej informacji znajdziesz w tej tabeli:
Typ | Opcjonalnie | Przykład |
---|---|---|
URL | Domyślnie odpowiada identyfikatorowi URI bieżącej strony lub określonej przez Ciebie wartości. Ignorujesz, gdy data-ux_mode="popup" i data-callback są ustawione. |
data-login_uri="https://www.example.com/login" |
Punkt końcowy logowania musi obsługiwać żądania POST zawierające klucz credential
z wartością tokena identyfikatora w treści.
Oto przykładowe żądanie do punktu końcowego logowania:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
wywołanie zwrotne danych
Ten atrybut to nazwa funkcji JavaScript, która obsługuje zwracany token identyfikatora. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Wymagany, jeśli nie ustawiono data-login_uri . |
data-callback="handleToken" |
Możesz użyć jednego z atrybutów data-login_uri
lub data-callback
. Zależy to od następujących konfiguracji komponentu i trybu UX:
Atrybut
data-login_uri
jest wymagany w przypadku przycisku Zaloguj się przez Googleredirect
w trybie UX, który ignoruje atrybutdata-callback
.Jeden z tych atrybutów musi być ustawiony w Google One Tap i przycisku logowania
popup
w Google. Jeśli obie te wartości są ustawione, atrybutdata-callback
ma wyższy priorytet.
Funkcje JavaScript w przestrzeni nazw nie są obsługiwane przez interfejs API HTML.
Zamiast tego używaj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback
zamiast mylib.callback
.
data-native_login_uri
Ten atrybut to adres URL punktu końcowego modułu obsługi danych logowania. Jeśli ustawisz atrybut data-native_login_uri
lub data-native_callback
, w przypadku braku sesji Google biblioteka JavaScript wraca do natywnego menedżera danych logowania. Nie możesz ustawiać atrybutów data-native_callback
i data-native_login_uri
. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-login_uri="https://www.example.com/password_login" |
wywołanie natywne data-data
Ten atrybut to nazwa funkcji JavaScript, która obsługuje dane logowania do hasła otrzymane od natywnego menedżera danych przeglądarki. Jeśli ustawisz atrybut data-native_login_uri
lub data-native_callback
, w przypadku braku sesji Google biblioteka JavaScript wraca do natywnego menedżera danych logowania. Nie możesz ustawiać właściwości data-native_callback
i data-native_login_uri
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-native_callback="handlePasswordCredential" |
Funkcje JavaScript w przestrzeni nazw nie są obsługiwane przez interfejs API HTML.
Zamiast tego używaj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback
zamiast mylib.callback
.
data-native_id_param
Przesyłając dane logowania do hasła do modułu obsługi haseł, możesz określić nazwę parametru w polu credential.id
. Domyślna nazwa to email
. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
URL | Opcjonalnie | data-native_id_param="user_id" |
data-native_password_param,
Przesyłając dane logowania do hasła do modułu obsługi haseł, możesz określić nazwę parametru dla wartości credential.password
. Nazwa domyślna to password
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
URL | Opcjonalnie | data-native_password_param="pwd" |
data-cancel_on_tap_outside,
Ten atrybut określa, czy anulować żądanie 1 kliknięciem, jeśli użytkownik kliknie tekst poza zachętą. Wartością domyślną jest true
. Aby go wyłączyć, ustaw wartość na false
. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
wartość logiczna | Opcjonalnie | data-cancel_on_tap_outside="false" |
data-prompt_parent_id,
Ten atrybut ustawia identyfikator DOM elementu kontenera. Jeśli zasada nie jest skonfigurowana, w prawym górnym rogu okna wyświetla się komunikat. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-prompt_parent_id="parent_id" |
data-skip_prompt_cookie
Ten atrybut pomija jedno dotknięcie, jeśli określony plik cookie nie zawiera pustej wartości. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-skip_prompt_cookie="SID" |
wartość jednorazowa
Jest to losowy ciąg znaków używany przez token identyfikatora do zapobiegania ponownym atakom. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-nonce="biaqbm70g23" |
Długość jednorazowa jest ograniczona do maksymalnego rozmiaru tokena JWT obsługiwanego przez Twoje środowisko, a także w przypadku ograniczeń rozmiaru poszczególnych przeglądarek i serwerów HTTP.
kontekst danych
Ten atrybut zmienia tytuł i wiadomości wyświetlane w komunikacie One Tap. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-context="use" |
W tabeli poniżej znajdziesz dostępne konteksty i ich opisy:
kontekst, | |
---|---|
signin |
„Zaloguj się przez Google” |
signup |
„Zarejestruj się z Google” |
use |
„Używaj z Google” |
wywołanie zwrotne danych
Ten atrybut to nazwa funkcji list odbiorców powiadomień o stanie interfejsu. Więcej informacji znajdziesz w informacjach o typie danych PromptMomentNotification
.
Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-moment_callback="logMomentNotification" |
Funkcje JavaScript w przestrzeni nazw nie są obsługiwane przez interfejs API HTML.
Zamiast tego używaj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback
zamiast mylib.callback
.
data-state_cookie_domain,
Jeśli chcesz wyświetlić informacje o dotknięciu jednym kliknięciem w domenie nadrzędnej i jej subdomenach, przekaż domenę nadrzędną do tego atrybutu, tak aby był w niej używany jeden plik cookie stanu wspólnego. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-state_cookie_domain="example.com" |
tryb-ux_mode
Ten atrybut określa procedurę UX używaną przez przycisk Zaloguj się przez Google. Wartością domyślną jest popup
. Ten atrybut nie ma wpływu na wygodę korzystania z One Tap. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-ux_mode="redirect" |
W tabeli poniżej znajdziesz dostępne tryby UX i ich opisy.
Tryb UX | |
---|---|
popup |
Wykonuje procedurę logowania w wyskakującym okienku. |
redirect |
Przeprowadza proces logowania UX przez pełne przekierowanie na stronę. |
data-allowed_parent_origin,
Źródła, które mogą umieszczać pośredni element iframe. Jeśli ten atrybut występuje, jedno dotknięcie zadziała w pośrednim trybie elementu iframe. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
Ciąg tekstowy | Opcjonalnie | data-allowed_parent_origin="https://example.com" |
W tabeli poniżej znajdziesz listę obsługiwanych typów wartości i ich opisów.
Typy wartości | ||
---|---|---|
string |
Identyfikator URI pojedynczej domeny. | „https://example.com” |
string array |
Lista identyfikatorów URI domen rozdzielonych przecinkami. | „https://wiadomości.example.com,https://lokalny.example.com” |
Jeśli wartość atrybutu data-allowed_parent_origin
jest nieprawidłowa, inicjacja pośredniego trybu elementu iframe zakończy się niepowodzeniem i zatrzyma się.
Obsługiwane są też prefiksy z symbolami wieloznacznymi. Na przykład domena "https://*.example.com"
będzie pasować do example.com
i jej subdomen na wszystkich poziomach (np.news.example.com
, login.news.example.com
). O czym warto pamiętać, używając symboli wieloznacznych:
- Ciągi znaków wzorca nie mogą składać się tylko z symbolu wieloznacznego i domeny najwyższego poziomu. Na przykład pola
https://*.com
ihttps://*.co.uk
są nieprawidłowe. Jak wspomnieliśmy wcześniej, ciąg"https://*.example.com"
będzie pasować doexample.com
i jej subdomen. Możesz też użyć listy rozdzielonej przecinkami, aby wskazać 2 różne domeny. Na przykład domena"https://example1.com,https://*.example2.com"
będzie pasować do domenexample1.com
,example2.com
i subdomen domenyexample2.com
- Domeny zawierające symbole wieloznaczne muszą zaczynać się od bezpiecznego schematu https://. Numer
"*.example.com"
zostanie uznany za nieprawidłowy.
wywołanie pośrednie_elementu_iframe_close_callback
Powoduje zastąpienie domyślnego działania pośredniego elementu iframe, gdy użytkownik ręcznie zamknie Jedno dotknięcie, klikając w interfejsie użytkownika przycisk „X”. Domyślnym zachowaniem jest natychmiastowe usunięcie pośredniego elementu iframe z DOM.
Pole data-intermediate_iframe_close_callback
działa tylko w średnim trybie elementu iframe. Ma ono wpływ tylko na pośredni element iframe, a nie na element iframe One. Interfejs One Tap jest usuwany przed wywołaniem wywołania zwrotnego.
Typ | Wymagany | Przykład |
---|---|---|
funkcja | Opcjonalnie | data-intermediate_iframe_close_callback="logBeforeClose" |
Funkcje JavaScript w przestrzeni nazw nie są obsługiwane przez interfejs API HTML.
Zamiast tego używaj globalnej funkcji JavaScriptu bez przestrzeni nazw. Na przykład użyj mylibCallback
zamiast mylib.callback
.
pomoc-itp_data
To pole określa, czy
uaktualniona wersja UX One powinna być włączona w przeglądarkach, które obsługują Intelligent Tracking Prevention (ITP). Wartością domyślną jest false
. Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
wartość logiczna | Opcjonalnie | data-itp_support="true" |
Element z klasą „g_id_signin”
Jeśli dodasz g_id_signin
do atrybutu class
elementu, będzie on renderowany jako przycisk Zaloguj się przez Google.
Na jednej stronie można renderować wiele przycisków Zaloguj się przez Google. Każdy przycisk może mieć własne ustawienia wizualne. Ustawienia są definiowane za pomocą poniższych atrybutów danych.
Atrybuty danych wizualnych
W tabeli poniżej znajdziesz atrybuty 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łe lub duże. |
data-text |
Tekst przycisku. Na przykład „Zaloguj się przez Google” lub „Zarejestruj się przez Google”. |
data-shape |
Kształt przycisku. np. 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 skonfigurujesz tę funkcję, po kliknięciu przycisku Zaloguj się przez Google będzie ona wywoływana. |
Typy atrybutów
W poniższych sekcjach znajdziesz szczegółowe informacje o typach atrybutów i ich przykłady.
data-type
Typ przycisku. Wartością domyślną jest standard
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Tak | data-type="icon" |
W tabeli poniżej znajdziesz dostępne typy przycisków i ich opisy:
Typ | |
---|---|
standard |
Przycisk z tekstem lub spersonalizowanymi informacjami:
![]() ![]() |
icon |
Przycisk ikony bez tekstu: ![]() |
motyw-danych
Motyw przycisku. Wartością domyślną jest outline
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-theme="filled_blue" |
W tabeli znajdziesz dostępne motywy i ich opisy:
Motyw | |
---|---|
outline |
Standardowy przycisk:
![]() ![]() ![]() |
filled_blue |
Motyw niebieskiego przycisku: ![]() ![]() ![]() |
filled_black |
Motyw czarnego przycisku: ![]() ![]() ![]() |
data-size
Rozmiar przycisku. Wartością domyślną jest large
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-size="small" |
W tabeli poniżej znajdziesz dostępne rozmiary przycisków i ich opisy.
Rozmiar | |
---|---|
large |
Duży przycisk: ![]() ![]() ![]() |
medium |
Przycisk średniej wielkości:
![]() ![]() |
small |
Mały przycisk: ![]() ![]() |
tekst-danych
Tekst przycisku. Wartością domyślną jest signin_with
. Tekst przycisków z różnymi atrybutami data-text
nie różni się wizualnie od przycisków. Jedynym wyjątkiem jest odczytywanie tekstu na potrzeby ułatwień dostępu na ekranie.
Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-text="signup_with" |
W tabeli poniżej znajdziesz dostępne teksty przycisków i ich opisy:
Tekst | |
---|---|
signin_with |
Tekst przycisku to „Zaloguj się przez Google”:
![]() ![]() |
signup_with |
Tekst przycisku to „Zarejestruj się w Google”:
![]() ![]() |
continue_with |
Tekst przycisku to „Kontynuuj z Google”:
![]() ![]() |
signin |
Tekst przycisku to „Zaloguj się”:
![]() ![]() |
kształt danych
Kształt przycisku. Wartością domyślną jest rectangular
. Więcej informacji znajdziesz w tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-shape="rectangular" |
W tabeli poniżej znajdziesz dostępne kształty przycisków i ich opisy:
Kształt | |
---|---|
rectangular |
Prostokątny przycisk. W przypadku przycisku icon działa tak samo jak square .
![]() ![]() ![]() |
pill |
Przycisk w kształcie pigułki. Jeśli jest używany z przyciskiem icon , działa tak samo jak circle .
![]() ![]() ![]() |
circle |
Przycisk w kształcie okręgu. Jeśli jest używany z przyciskiem standard , działa tak samo jak pill .
![]() ![]() ![]() |
square |
Kwadratowy przycisk Jeśli jest używany z przyciskiem standard , działa tak samo 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 tabeli poniżej:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-logo_alignment="center" |
W tabeli poniżej znajdziesz dostępne wyrównania i ich opisy:
wyrównanie_logo | |
---|---|
left |
Logo zawiera logo wyrównane do lewej: ![]() |
center |
Wyrównuje logo Google do środka:
![]() |
szerokość-danych
Minimalna szerokość przycisku w pikselach. Maksymalna szerokość to 400 pikseli.
Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-width=400 |
dane-lokalne
Opcjonalnie. Wyświetlaj tekst przycisku w określonym języku. W przeciwnym razie domyślnie wyświetlają się ustawienia konta Google lub przeglądarki użytkownika. Dodaj parametr hl
i kod języka do dyrektywy src podczas wczytywania biblioteki, na przykład gsi/client?hl=<iso-639-code>
.
Jeśli zasada nie jest skonfigurowana, używane jest domyślne ustawienie przeglądarki lub sesja Google użytkownika. Różni użytkownicy mogą mieć różne wersje zlokalizowanych przycisków, a nawet ich różne rozmiary.
Więcej informacji znajdziesz w tej tabeli:
Typ | Wymagany | Przykład |
---|---|---|
tekst | Opcjonalnie | data-locale="zh_CN" |
kliknięcie_listy_odbiorców
Możesz zdefiniować funkcję JavaScript, która będzie wywoływana po kliknięciu przycisku Zaloguj się przez Google za pomocą atrybutu click_listener
.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
W powyższym przykładzie po kliknięciu przycisku Zaloguj się przez Google w konsoli będzie wyświetlany komunikat Kliknięcie przycisku Zaloguj się przez Google....
Integracja po stronie serwera
Twoje punkty końcowe po stronie serwera muszą obsługiwać wymienione niżej żądania HTTP POST
.
Punkt końcowy modułu obsługi tokena
Punkt końcowy modułu obsługi tokena jest przetwarzany przez identyfikator. W zależności od stanu odpowiedniego konta możesz zalogować użytkownika i kierować go na stronę rejestracji lub kierować użytkowników na stronę łączącą konto, aby uzyskać dodatkowe informacje.
Żądanie HTTP POST
zawiera te informacje:
Format | Nazwa | Opis |
---|---|---|
Plik cookie | g_csrf_token |
Losowy ciąg znaków, który zmienia się wraz z każdym żądaniem do punktu końcowego modułu obsługi. |
Parametr żądania | g_csrf_token |
Ciąg tekstowy, który jest taki sam jak poprzednia wartość pliku cookie, g_csrf_token |
Parametr żądania | credential |
Token tożsamości wydany przez Google. |
Parametr żądania | select_by |
Sposób wyboru danych logowania. |
dane logowania
Po dekodowaniu token wygląda tak:
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 GSuite email address "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's creation time "exp": 1596477600, // Unix timestamp of the assertion's expiration time "jti": "abc161803398874def" }
Pole sub
zawiera globalnie unikalny identyfikator konta Google.
Używając pól email
, email_verified
i hd
, możesz sprawdzić, czy host Google jest wiarygodny dla adresu e-mail. W sytuacjach, gdy Google jest wiarygodnym właścicielem, wiadomo, że użytkownik jest prawowitym właścicielem konta.
Przypadki, w których Google jest wiarygodny:
email
ma sufiks@gmail.com
, jest to konto Gmail.email_verified
ma wartość Prawda, ahd
jest ustawione. To jest konto Google Workspace.
Użytkownicy mogą rejestrować konta Google bez korzystania z Gmaila i Google Workspace. Jeśli email
nie zawiera sufiksu @gmail.com
, a nie podano hd
, Google nie jest wiarygodnym podmiotem, a hasła lub inne metody weryfikacji są zalecane do zweryfikowania użytkownika. email_verfied
może być też prawdziwe, bo podczas tworzenia konta Google użytkownik zweryfikował początkowo konto Google, ale własność konta e-mail osoby trzeciej mogła ulec zmianie.
Pole exp
pokazuje czas wygaśnięcia weryfikacji tokena po stronie serwera.
Trwa 1 godzina tokena tożsamości uzyskanego z funkcji Zaloguj się przez Google. Musisz zweryfikować token przed upływem daty ważności. Do zarządzania sesją nie używaj właściwości exp
. Wygasły token tożsamości nie oznacza, że użytkownik jest wylogowany. Za zarządzanie sesjami użytkowników odpowiada Twoja aplikacja.
select_by (wybierz)
Poniższa tabela zawiera możliwe wartości pola select_by
. Do określenia wartości służy przycisk przycisku użyty wraz z sesją i stanem zgody użytkownika.
Użytkownik nacisnął przycisk jednym dotknięciem lub logowanie się przez Google albo korzystał z automatycznego logowania bezdotykowego.
Znaleziono istniejącą sesję lub użytkownik wybrał i zalogował się na konto Google, aby utworzyć nową sesję.
Przed udostępnieniem aplikacji danych uwierzytelniających token tożsamości
- kliknij przycisk Potwierdź, aby wyrazić zgodę na udostępnianie danych logowania.
- wyraziła wcześniej zgodę i użył konta Wybierz konto, aby wybrać konto Google.
Wartość tego pola jest ustawiona na jeden z tych typów:
Wartość | Opis |
---|---|
auto |
Automatyczne logowanie użytkownika z dotychczasową sesją, która wcześniej wyraziła zgodę na udostępnianie danych logowania. |
user |
Użytkownik, który wcześniej wyraził zgodę, nacisnął przycisk „Kontynuuj jako”, aby udostępnić dane logowania. |
user_1tap |
Użytkownik z istniejącą sesją nacisnął przycisk „Kontynuuj jako”, aby udzielić zgody i udostępnić dane logowania. Dotyczy tylko Chrome w wersji 75 lub nowszej. |
user_2tap |
Użytkownik bez istniejącej sesji nacisnął przycisk „Kontynuuj jako”, aby wybrać konto, a następnie przycisk Potwierdź w wyskakującym okienku, aby udzielić zgody i udostępnić dane logowania. Dotyczy przeglądarek niepochodzących z Chromium. |
btn |
Użytkownik z istniejącą sesją, która wcześniej wyraziła zgodę, nacisnął przycisk Zaloguj się przez Google, a następnie wybrał konto Google ze strony „Wybierz konto”. |
btn_confirm |
Użytkownik z istniejącą sesją nacisnął przycisk Zaloguj się przez Google, a następnie przycisk Potwierdź, aby udzielić zgody i udostępnić dane logowania. |
btn_add_session |
Użytkownik bez istniejącej sesji, który wcześniej wyraził zgodę, nacisnął przycisk Zaloguj się przez Google, aby wybrać konto Google i udostępnić dane logowania. |
btn_confirm_add_session |
Użytkownik bez istniejącej sesji najpierw kliknął przycisk Zaloguj się przez Google, aby wybrać konto Google, a następnie przycisk Potwierdź, aby wyrazić zgodę na udostępnienie danych logowania i je udostępnić. |
Punkt końcowy modułu obsługi danych logowania do hasła
Punkt końcowy modułu obsługi danych logowania przetwarza hasła, które pobiera natywny menedżer danych logowania.
Żądanie HTTP POST
zawiera te informacje:
Format | Nazwa | Opis |
---|---|---|
Plik cookie | g_csrf_token |
Losowy ciąg znaków, który zmienia się wraz z każdym żądaniem do punktu końcowego modułu obsługi. |
Parametr żądania | g_csrf_token |
Ciąg znaków, który jest taki sam jak poprzednia wartość pliku cookie, g_csrf_token . |
Parametr żądania | email |
Token tożsamości wydany przez Google. |
Parametr żądania | password |
Sposób wyboru danych logowania. |