Questa pagina di riferimento descrive l'API degli attributi dei dati HTML di Accedi con Google, utilizzata per visualizzare il pulsante Accedi con Google o la richiesta One Tap sulle pagine web.
Elemento con ID "g_id_onload"
Puoi inserire gli attributi dei dati di Accedi con Google in qualsiasi elemento visibile o invisibile, ad esempio <div> e <span>. L'unico requisito è che l'ID elemento sia impostato su g_id_onload. Non inserire questo ID su più elementi.
Attributi dei dati
La tabella seguente elenca gli attributi dei dati con le relative descrizioni:
| Attributo | |
|---|---|
data-client_id |
L'ID client della tua applicazione |
data-color_scheme |
La combinazione di colori applicata alla richiesta One Tap. |
data-auto_prompt |
Visualizza Google One Tap. |
data-auto_select |
Abilita la selezione automatica su Google One Tap. |
data-login_uri |
L'URL dell'endpoint di accesso |
data-callback |
Il nome della funzione del gestore di token ID JavaScript |
data-native_login_uri |
L'URL dell'endpoint del gestore delle credenziali della password |
data-native_callback |
Il nome della funzione del gestore delle credenziali della password JavaScript |
data-native_id_param |
Il nome del parametro per il valore credential.id |
data-native_password_param |
Il nome del parametro per il valore credential.password |
data-cancel_on_tap_outside |
Controlla se annullare la richiesta se l'utente fa clic al di fuori della richiesta. |
data-prompt_parent_id |
L'ID DOM dell'elemento contenitore della richiesta One Tap |
data-skip_prompt_cookie |
Salta One Tap se il cookie specificato ha un valore non vuoto. |
data-nonce |
Una stringa casuale per i token ID |
data-essential_claims |
Claim aggiuntivi da includere nel token ID restituito da Google. |
data-context |
Il titolo e le parole nel prompt di One Tap |
data-moment_callback |
Il nome della funzione del listener di notifiche di stato della UI del prompt |
data-state_cookie_domain |
Se devi chiamare One Tap nel dominio principale e nei relativi sottodomini, passa il dominio principale a questo attributo in modo che venga utilizzato un singolo cookie condiviso. |
data-ux_mode |
Flusso UX del pulsante Accedi con Google |
data-allowed_parent_origin |
Le origini autorizzate a incorporare l'iframe intermedio. Se questo attributo è presente, One Tap viene eseguito in modalità iframe intermedio. |
data-intermediate_iframe_close_callback |
Esegue l'override del comportamento predefinito dell'iframe intermedio quando gli utenti chiudono manualmente One Tap. |
data-itp_support |
Abilita la UX One Tap aggiornata sui browser ITP. |
data-login_hint |
Salta la selezione dell'account fornendo un suggerimento per l'utente. |
data-hd |
Limita la selezione dell'account in base al dominio. |
data-use_fedcm_for_prompt |
Consenti al browser di controllare le richieste di accesso degli utenti e di mediare il flusso di accesso tra il tuo sito web e Google. |
data-use_fedcm_for_button |
Questo campo determina se l'UX del pulsante FedCM deve essere utilizzata su Chrome
(desktop M125+ e Android M128+). Il valore predefinito è false. |
data-button_auto_select |
Se attivare l'opzione di selezione automatica per il flusso del pulsante FedCM. Se questa opzione è attiva, gli utenti di ritorno con una sessione Google attiva verranno automaticamente autenticati, ignorando la richiesta del selettore account. Il valore predefinito è false. |
Tipi di attributi
Le sezioni seguenti contengono dettagli su ogni tipo di attributo e un esempio.
data-client_id
Questo attributo è l'ID client della tua app, che viene trovato e creato nella console Google Cloud. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Sì | data-client_id="CLIENT_ID.apps.googleusercontent.com" |
data-color_scheme
Questo campo indica la combinazione di colori applicata alla richiesta One Tap. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo. Il valore predefinito è la combinazione di colori predefinita di sistema degli utenti. | data-color_scheme="dark" |
La tabella seguente elenca le combinazioni di colori disponibili e le relative descrizioni.
| Combinazione di colori | |
|---|---|
default |
Applica la combinazione di colori predefinita del sistema dell'utente, a seconda della combinazione di colori preferita dall'utente (chiara o scura). |
light |
Applica una combinazione di colori chiari. |
dark |
Applica una combinazione di colori scuri. |
data-auto_prompt
Questo attributo determina se visualizzare o meno One Tap. Il valore predefinito è true. Google One Tap non viene visualizzato quando questo valore è false. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-auto_prompt="true" |
data-auto_select
Questo attributo determina se restituire o meno un token ID automaticamente,
senza alcuna interazione dell'utente, se una sola sessione Google ha approvato la tua app.
Il valore predefinito è false. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-auto_select="true" |
data-login_uri
Questo attributo è l'URI dell'endpoint di accesso.
Il valore deve corrispondere esattamente a uno degli URI di reindirizzamento autorizzati per il client OAuth 2.0, che hai configurato nella piattaforma Google Auth e deve essere conforme alle nostre regole di convalida degli URI di reindirizzamento.
Questo attributo può essere omesso se la pagina corrente è la pagina di accesso, nel qual caso la credenziale viene pubblicata su questa pagina per impostazione predefinita.
La risposta della credenziale del token ID viene pubblicata nell'endpoint di accesso quando non è definita alcuna funzione di callback e un utente fa clic sui pulsanti Accedi con Google o One Tap oppure viene eseguito l'accesso automatico.
L'endpoint di accesso deve gestire le richieste POST contenenti un parametro credential con un valore del token ID nel corpo.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Facoltativo | Esempio |
|---|---|---|
| URL | Per impostazione predefinita, l'URI della pagina corrente o il valore specificato. Ignorato quando sono impostati data-ux_mode="popup" e
data-callback. |
data-login_uri="https://www.example.com/login" |
data-callback
Questo attributo è il nome della funzione JavaScript che gestisce il token ID restituito. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Obbligatorio se data-login_uri non è impostato. |
data-callback="handleToken" |
È possibile utilizzare uno degli attributi data-login_uri e data-callback. Dipende dalle seguenti configurazioni dei componenti e della modalità UX:
L'attributo
data-login_uriè obbligatorio per la modalità UXredirectdel pulsante Accedi con Google, che ignora l'attributodata-callback.Uno di questi due attributi deve essere impostato per Google One Tap e per la modalità UX
popupdel pulsante Accedi con Google. Se vengono impostati entrambi, l'attributodata-callbackha la precedenza.
Le funzioni JavaScript all'interno di uno spazio dei nomi non sono supportate dall'API HTML.
Utilizza invece una funzione JavaScript globale senza uno spazio dei nomi. Ad esempio, utilizza
mylibCallback anziché mylib.callback.
Alla funzione di callback viene passato un oggetto CredentialResponse come parametro.
Per i dettagli sui possibili valori di risposta, consulta CredentialResponse.
data-native_login_uri
Questo attributo è l'URL dell'endpoint del gestore delle credenziali della password. Se imposti l'attributo data-native_login_uri o l'attributo data-native_callback, la libreria JavaScript utilizza il Gestore delle credenziali integrato quando non è presente una sessione Google. Non è consentito impostare entrambi gli attributi data-native_callback e data-native_login_uri. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-login_uri="https://www.example.com/password_login" |
data-native_callback
Questo attributo è il nome della funzione JavaScript che gestisce la credenziale della password restituita dal Gestore delle credenziali integrato del browser. Se imposti
l'attributo data-native_login_uri o l'attributo data-native_callback,
la libreria JavaScript utilizza il Gestore delle credenziali integrato
quando non è presente una sessione Google. Non puoi impostare sia data-native_callback che data-native_login_uri. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-native_callback="handlePasswordCredential" |
Le funzioni JavaScript all'interno di uno spazio dei nomi non sono supportate dall'API HTML.
Utilizza invece una funzione JavaScript globale senza uno spazio dei nomi. Ad esempio, utilizza
mylibCallback anziché mylib.callback.
data-native_id_param
Quando invii la credenziale della password all'endpoint del gestore delle credenziali della password, puoi specificare il nome del parametro per il campo credential.id. Il nome predefinito è email. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| URL | Facoltativo | data-native_id_param="user_id" |
data-native_password_param
Quando invii la credenziale della password all'endpoint del gestore delle credenziali della password, puoi specificare il nome del parametro per il valore credential.password. Il nome predefinito è password. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| URL | Facoltativo | data-native_password_param="pwd" |
data-cancel_on_tap_outside
Questo attributo imposta se annullare o meno la richiesta One Tap se l'utente fa clic al di fuori della richiesta. Il valore predefinito è true. Per disattivarlo, imposta il valore su false. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-cancel_on_tap_outside="false" |
data-prompt_parent_id
Questo attributo imposta l'ID DOM dell'elemento contenitore. Se non è impostato, il prompt di One Tap viene visualizzato nell'angolo in alto a destra della finestra. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-prompt_parent_id="parent_id" |
data-skip_prompt_cookie
Utilizza un cookie per controllare la visualizzazione della richiesta One Tap. Se il cookie specificato da questo attributo ha un valore non vuoto, la richiesta non viene visualizzata. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-skip_prompt_cookie="SID" |
data-nonce
Questo attributo è una stringa casuale utilizzata dal token ID per impedire attacchi di tipo replay. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-nonce="biaqbm70g23" |
La lunghezza del nonce è limitata alla dimensione massima del JWT supportata dal tuo ambiente e ai vincoli di dimensione HTTP dei singoli browser e server.
data-essential_claims
Questo attributo è una stringa utilizzata per richiedere l'inclusione di claim aggiuntivi nel token ID restituito da Google. Per un elenco completo delle attestazioni accettate da Google, consulta l'articolo sulle attestazioni supportate.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-essential_claims="auth_time, amr" |
contesto-dati
Questo campo modifica il testo del titolo e dei messaggi mostrati nel prompt One Tap, ma non ha alcun effetto sui browser ITP. Il valore predefinito è signin.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-context="use" |
La tabella seguente elenca tutti i contesti disponibili e le relative descrizioni:
| Contesto | |
|---|---|
signin |
"Accedi a" |
signup |
"Registrati a" |
use |
"Usa" |
data-moment_callback
Questo attributo è il nome della funzione del listener di notifica dello stato della UI del prompt. Per saperne di più, consulta il tipo di dati PromptMomentNotification.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-moment_callback="logMomentNotification" |
Le funzioni JavaScript all'interno di uno spazio dei nomi non sono supportate dall'API HTML.
Utilizza invece una funzione JavaScript globale senza uno spazio dei nomi. Ad esempio, utilizza
mylibCallback anziché mylib.callback.
data-state_cookie_domain
Se devi visualizzare One Tap in un dominio principale e nei relativi sottodomini, passa il dominio principale a questo attributo in modo che venga utilizzato un singolo cookie di stato condiviso. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-state_cookie_domain="example.com" |
data-ux_mode
Questo attributo imposta il flusso UX utilizzato dal pulsante Google Accedi con Google. Il valore predefinito è popup. Questo attributo non ha alcun impatto sull'esperienza utente di One Tap. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-ux_mode="redirect" |
La tabella seguente elenca le modalità UX disponibili e le relative descrizioni.
| Modalità UX | |
|---|---|
popup |
Esegue il flusso UX di accesso in una finestra popup. |
redirect |
Esegue il flusso UX di accesso tramite un reindirizzamento a pagina intera. |
data-allowed_parent_origin
Le origini autorizzate a incorporare l'iframe intermedio. Se questo attributo è presente, One Tap viene eseguito in modalità iframe intermedio. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa o array di stringhe | Facoltativo | data-allowed_parent_origin="https://example.com" |
La tabella seguente elenca i tipi di valori supportati e le relative descrizioni.
| Tipi di valori | ||
|---|---|---|
string |
Un singolo URI di dominio. | "https://example.com" |
string array |
Un elenco di URI di dominio separati da virgole. | "https://news.example.com,https://local.example.com" |
Se il valore dell'attributo data-allowed_parent_origin non è valido, l'inizializzazione di One Tap della modalità iframe intermedia non andrà a buon fine e si interromperà.
Sono supportati anche i prefissi con caratteri jolly. Ad esempio, "https://*.example.com" corrisponde a example.com e ai relativi sottodomini a tutti i livelli (ad es. news.example.com, login.news.example.com). Aspetti da tenere presente quando utilizzi i caratteri jolly:
- Le stringhe di pattern non possono essere composte solo da un carattere jolly e da un dominio di primo livello. Ad esempio,
https://.comehttps://.co.uknon sono validi perché"https://.example.com"corrisponde aexample.come a tutti i relativi sottodomini. Utilizza un elenco separato da virgole per rappresentare due domini diversi. Ad esempio,"https://example1.com,https://.example2.com"corrisponde ai dominiexample1.com,example2.come ai sottodomini diexample2.com - I domini con caratteri jolly devono iniziare con uno schema https:// sicuro, pertanto
"*.example.com"è considerato non valido.
data-intermediate_iframe_close_callback
Esegue l'override del comportamento predefinito dell'iframe intermedio quando gli utenti chiudono manualmente One Tap toccando il pulsante "X" nell'interfaccia utente di One Tap. Il comportamento predefinito prevede la rimozione immediata dell'iframe intermedio dal DOM.
Il campo data-intermediate_iframe_close_callback ha effetto solo in modalità iframe intermedio. Inoltre, influisce solo sull'iframe intermedio,
anziché sull'iframe di One Tap. La UI di One Tap viene rimossa prima che venga richiamato il callback.
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| funzione | Facoltativo | data-intermediate_iframe_close_callback="logBeforeClose" |
Le funzioni JavaScript all'interno di uno spazio dei nomi non sono supportate dall'API HTML.
Utilizza invece una funzione JavaScript globale senza uno spazio dei nomi. Ad esempio, utilizza
mylibCallback anziché mylib.callback.
data-itp_support
Questo campo determina se la
UX One Tap di cui è stato eseguito l'upgrade
deve essere attivata nei browser che supportano Intelligent Tracking Prevention
(ITP). Il valore predefinito è false. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-itp_support="false" |
data-login_hint
Se la tua applicazione sa in anticipo quale utente deve accedere, può fornire un suggerimento per l'accesso a Google. Se l'operazione va a buon fine, la selezione dell'account viene saltata. I valori accettati sono: un indirizzo email o un campo sub del token ID.
Per saperne di più, consulta la documentazione di OpenID Connect per login_hint.
| Tipo | Obbligatorio | Esempio |
|---|---|---|
Stringa. Può essere un indirizzo email o il valore del campo sub del token ID. |
Facoltativo | data-login_hint="elisa.beckett@gmail.com" |
data-hd
Quando un utente ha più account e deve accedere solo con il proprio account Workspace, utilizza questa opzione per fornire un suggerimento per il nome di dominio a Google. Se l'operazione va a buon fine, gli account utente visualizzati durante la selezione dell'account sono limitati al dominio fornito.
Un valore con carattere jolly: * offre all'utente solo account Workspace ed esclude gli account consumer (user@gmail.com) durante la selezione dell'account.
Per saperne di più, consulta la documentazione di OpenID Connect per hd.
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| Stringa. Un nome di dominio completo o *. | Facoltativo | data-hd="*" |
data-use_fedcm_for_prompt
Consenti al browser di controllare le richieste di accesso degli utenti e di mediare il flusso di accesso tra il tuo sito web e Google. Il valore predefinito è false. Per saperne di più, consulta la pagina Esegui la migrazione a FedCM.
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Deprecato | data-use_fedcm_for_prompt="true" |
data-use_fedcm_for_button
Questo campo determina se utilizzare la UX del pulsante FedCM su Chrome (desktop M125+ e Android M128+). Il valore predefinito è false. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-use_fedcm_for_button="true" |
data-button_auto_select
Questo campo determina se attivare l'opzione di selezione automatica per il flusso del pulsante FedCM. Se abilitata, gli utenti di ritorno con una sessione Google attiva
verranno automaticamente autenticati, bypassando il prompt del selettore dell'account. Il valore predefinito è false. Devi attivare esplicitamente l'accesso automatico con pulsante durante il lancio dell'attivazione. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| booleano | Facoltativo | data-button_auto_select="true" |
Elemento con classe "g_id_signin"
Se aggiungi g_id_signin all'attributo class di un elemento, l'elemento viene visualizzato come pulsante Accedi con Google.
Puoi eseguire il rendering di più pulsanti Accedi con Google sulla stessa pagina. Ogni pulsante può avere le proprie impostazioni visive. Le impostazioni sono definite dai seguenti attributi dei dati.
Attributi dei dati visivi
La tabella seguente elenca gli attributi dei dati visivi e le relative descrizioni:
| Attributo | |
|---|---|
data-type |
Il tipo di pulsante: icona o pulsante standard. |
data-theme |
Il tema del pulsante. Ad esempio, filled_blue o filled_black. |
data-size |
Le dimensioni del pulsante. Ad esempio, piccolo o grande. |
data-text |
Il testo del pulsante. Ad esempio, "Accedi con Google" o "Registrati con Google". |
data-shape |
La forma del pulsante. Ad esempio, rettangolare o circolare. |
data-logo_alignment |
L'allineamento del logo Google: a sinistra o al centro. |
data-width |
La larghezza del pulsante, in pixel. |
data-locale |
Il testo del pulsante viene visualizzato nella lingua impostata in questo attributo. |
data-click_listener |
Se impostata, questa funzione viene chiamata quando viene fatto clic sul pulsante Accedi con Google. |
data-state |
Se impostata, questa stringa viene restituita con il token ID. |
Tipi di attributi
Le sezioni seguenti contengono dettagli sul tipo di ogni attributo e un esempio.
tipo di dati
Il tipo di pulsante. Il valore predefinito è standard. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Sì | data-type="icon" |
La tabella seguente elenca tutti i tipi di pulsanti disponibili e le relative descrizioni:
| Tipo | |
|---|---|
standard |
|
icon |
|
data-theme
Il tema del pulsante. Il valore predefinito è outline. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-theme="filled_blue" |
La tabella seguente elenca i temi disponibili e le relative descrizioni:
| Tema | Esempi | Specifiche |
|---|---|---|
outline |
|
Riempimento: #FFFFFF Tratto: #747775 | 1px | interno Carattere: #1F1F1F | Roboto Medium | 14/20 Personalizzato: #1F1F1F | Roboto | Medium 12/14 | Regular 11/13 |
filled_blue |
|
Riempimento: #0B57D0 Tratto: #OB57D0 | 1 px | interno Carattere: #FFFFFF | Google Sans Medium | 14/20 Personalizzato: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
filled_black |
|
Riempimento: #202124 Tratto: #OB57D0 | 1 px | interno Carattere: #FFFFFF | Google Sans Medium | 14/20 Personalizzato: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
outline_dark |
|
Riempimento: #131314 Tratto: #8E918F | 1px | interno Carattere: #FFFFFF | Google Sans Medium | 14/20 Personalizzato: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
data-size
Le dimensioni del pulsante. Il valore predefinito è large. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-size="small" |
La tabella seguente elenca le dimensioni dei pulsanti disponibili e le relative descrizioni.
| Dimensioni | |
|---|---|
large |
|
medium |
|
small |
|
data-text
Il testo del pulsante. Il valore predefinito è signin_with. Non esistono differenze visive per il testo dei pulsanti icona con attributi data-text diversi. L'unica eccezione è quando il testo viene letto per l'accessibilità dello schermo.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-text="signup_with" |
La tabella seguente elenca i testi dei pulsanti disponibili e le relative descrizioni:
| Testo | |
|---|---|
signin_with |
|
signup_with |
|
continue_with |
|
signin |
|
data-shape
La forma del pulsante. Il valore predefinito è rectangular. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-shape="rectangular" |
La tabella seguente elenca le forme dei pulsanti disponibili e le relative descrizioni:
| Forma | |
|---|---|
rectangular |
icon, equivale a square.
|
pill |
icon, equivale a circle.
|
circle |
standard, equivale a pill.
|
square |
standard, equivale a rectangular.
|
data-logo_alignment
L'allineamento del logo Google. Il valore predefinito è left. Questo attributo si applica solo al tipo di pulsante standard. Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-logo_alignment="center" |
La tabella seguente elenca gli allineamenti disponibili e le relative descrizioni:
| logo_alignment | |
|---|---|
left |
|
center |
|
data-width
La larghezza minima del pulsante, in pixel. La larghezza massima disponibile è di 400 pixel.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-width=400 |
data-locale
Facoltativo. Visualizza il testo del pulsante utilizzando le impostazioni internazionali specificate, altrimenti utilizza l'Account Google o le impostazioni del browser dell'utente. Aggiungi il parametro hl e il codice lingua all'istruzione src durante il caricamento della libreria, ad esempio: gsi/client?hl=<iso-639-code>.
Se non viene impostata, viene utilizzata l'impostazione internazionale predefinita del browser o la preferenza dell'utente della sessione Google. Pertanto, utenti diversi potrebbero vedere versioni diverse dei pulsanti localizzati, possibilmente con dimensioni diverse.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-locale="zh_CN" |
data-click_listener
Puoi definire una funzione JavaScript da chiamare quando viene fatto clic sul pulsante Accedi con Google utilizzando l'attributo 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>In questo esempio, il messaggio Pulsante Accedi con Google selezionato… viene registrato nella console quando viene fatto clic sul pulsante Accedi con Google.
stato-dati
Facoltativo: poiché è possibile eseguire il rendering di più pulsanti Accedi con Google nella stessa pagina, puoi assegnare a ogni pulsante una stringa univoca. La stessa stringa verrà restituita insieme al token ID, in modo da poter identificare il pulsante su cui l'utente ha fatto clic per accedere.
Per ulteriori informazioni, consulta la tabella seguente:
| Tipo | Obbligatorio | Esempio |
|---|---|---|
| stringa | Facoltativo | data-state="button 1" |
Integrazione lato server
I tuoi endpoint lato server devono gestire le seguenti richieste HTTP POST.
L'endpoint del gestore dei token ID
L'endpoint del gestore dei token ID elabora il token ID. In base allo stato dell'account corrispondente, puoi far accedere l'utente e indirizzarlo a una pagina di registrazione o a una pagina di collegamento degli account per ulteriori informazioni. I client DEVONO ignorare i parametri di risposta non riconosciuti.
Esempio di richiesta all'endpoint di accesso:
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>
La richiesta HTTP POST contiene le seguenti informazioni:
| Formato | Nome | Descrizione |
|---|---|---|
| Cookie | g_csrf_token |
Una stringa casuale che cambia a ogni richiesta all'endpoint di accesso specificato da data-login_uri, deve corrispondere al valore nel parametro di richiesta g_csrf_token. |
| Parametro di richiesta | g_csrf_token |
Una stringa casuale che cambia a ogni richiesta all'endpoint di accesso specificato da data-login_uri, deve corrispondere al valore del cookie g_csrf_token. |
| Parametro di richiesta | credential |
Il token ID JWT codificato emesso da Google. |
| Parametro di richiesta | state |
Questo parametro viene definito solo quando l'utente fa clic su un pulsante Accedi con Google per accedere e l'attributo state del pulsante è specificato. |
credenziale
Quando viene decodificato, il token ID è simile al seguente esempio:
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" }
I client DEVONO ignorare le attestazioni JWT non riconosciute.
Il campo sub è un identificatore univoco globale per l'Account Google. Utilizza solo il campo sub come identificatore dell'utente, in quanto è univoco per tutti gli Account Google e non viene mai riutilizzato.
Utilizzando i campi email, email_verified e hd puoi determinare se Google ospita un indirizzo email e se è autorevole per questo indirizzo. Nei casi in cui Google è l'autorità, l'utente viene confermato come legittimo proprietario dell'account.
Casi in cui Google è autorevole:
emailha un suffisso@gmail.com, si tratta di un account Gmail.email_verifiedè true ehdè impostato, si tratta di un account Google Workspace.
Gli utenti possono registrarsi per creare Account Google senza utilizzare Gmail o Google Workspace.
Quando email non contiene un suffisso @gmail.com e hd è assente, Google non è autorevole e si consiglia di utilizzare la password o altri metodi di verifica per verificare l'utente. email_verified può anche essere true, poiché Google ha inizialmente verificato l'utente al momento della creazione dell'Account Google, ma la proprietà dell'account email di terze parti potrebbe essere cambiata nel frattempo.
Il campo exp mostra la data e l'ora di scadenza per verificare il token sul lato server. Per il token ID ottenuto da Accedi con Google, la durata è di un'ora. Devi verificare il token prima della scadenza. Non utilizzare exp per la gestione delle sessioni. Un token ID scaduto non significa che l'utente è disconnesso. La tua app è responsabile della gestione delle sessioni degli utenti.
g_csrf_token
Un token di stato antifalsificazione. Si tratta di un token di falsificazione di richiesta cross-site (CSRF) creato dalla libreria gsi/client. Un valore casuale viene incluso sia come cookie sia come parametro di richiesta nel corpo del payload POST. Se questi due valori non corrispondono durante l'elaborazione della richiesta sul tuo server, la richiesta deve essere considerata non valida.
stato
Questo parametro viene definito solo quando l'utente fa clic su un pulsante Accedi con Google per accedere e l'attributo data-state del pulsante selezionato è specificato. Il valore di questo campo è lo stesso che hai specificato nell'attributo data-state del pulsante.
Poiché nella stessa pagina possono essere visualizzati più pulsanti Accedi con Google, puoi assegnare a ogni pulsante una stringa univoca. Di conseguenza, puoi utilizzare questo parametro state
per identificare il pulsante su cui l'utente ha fatto clic per accedere.
Endpoint del gestore delle credenziali della password
L'endpoint del gestore delle credenziali della password elabora le credenziali della password recuperate dal Gestore delle credenziali integrato.
La richiesta HTTP POST contiene le seguenti informazioni:
| Formato | Nome | Descrizione |
|---|---|---|
| Cookie | g_csrf_token |
Una stringa casuale che cambia a ogni richiesta all'endpoint di accesso specificato da data-native_login_uri, deve corrispondere al valore nel parametro di richiesta g_csrf_token. |
| Parametro di richiesta | g_csrf_token |
Una stringa casuale che cambia a ogni richiesta all'endpoint di accesso specificato da data-native_login_uri, deve corrispondere al valore del cookie g_csrf_token. |
| Parametro di richiesta | email |
Questo token ID emesso da Google. |
| Parametro di richiesta | password |
Come viene selezionata la credenziale. |