Riferimento all'API HTML Accedi con Google

Questa pagina di riferimento descrive l'API per gli attributi dei dati HTML di Accedi con Google. Puoi utilizzare l'API per visualizzare il messaggio One Tap o il pulsante Accedi con Google nelle tue 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

Nella tabella seguente sono elencati gli attributi dei dati con le relative descrizioni:

Attributo
data-client_id L'ID client della tua applicazione
data-auto_prompt Mostra Google One Tap.
data-auto_select Consente la selezione automatica su Google One Tap.
data-login_uri L'URL dell'endpoint di accesso
data-callback Il nome della funzione 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 gestore di 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 Consente di stabilire se annullare la richiesta se l'utente fa clic al di fuori della richiesta.
data-prompt_parent_id L'ID DOM dell'elemento contenitore del prompt One Tap
data-skip_prompt_cookie Salta un tocco se il cookie specificato ha un valore non vuoto.
data-nonce Una stringa casuale per i token ID.
data-context Il titolo e le parole nel prompt One Tap
data-moment_callback Il nome della funzione del listener di notifica dello stato dell'interfaccia utente dei prompt
data-state_cookie_domain Se devi chiamare One Tap nel dominio principale e nei suoi sottodomini, trasmetti 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. One Tap viene eseguito in modalità iframe intermedio se è presente questo attributo.
data-intermediate_iframe_close_callback Sostituisce il comportamento predefinito dell'iframe intermedio quando gli utenti chiudono manualmente One Tap.
data-itp_support Consente di attivare l'esperienza utente 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 degli 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.

Tipi di attributi

Le seguenti sezioni contengono informazioni dettagliate sul tipo di attributo e un esempio.

id-client_dati

Questo attributo è l'ID client dell'app, che viene trovato e creato in Google Developers Console. Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
stringa data-client_id="CLIENT_ID.apps.googleusercontent.com"

richiesta_auto_dati

Questo attributo determina se mostrare o meno Un tocco. Il valore predefinito è true. Il tocco di Google One non viene visualizzato quando questo valore è false. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
boolean Facoltativo data-auto_prompt="true"

selezione-automatica-dati

Questo attributo determina se restituire o meno un token ID automaticamente, senza alcuna interazione da parte dell'utente, nel caso in cui la tua app sia stata approvata in una sola sessione Google. Il valore predefinito è false. Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
boolean 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 console API e che deve essere conforme alle nostre regole di convalida dell'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 delle credenziali del token ID viene pubblicata nell'endpoint di accesso quando non viene definita alcuna funzione di callback e se un utente fa clic sui pulsanti Accedi con Google o One Tap oppure se viene eseguita l'accesso automatico.

Per ulteriori informazioni, consulta la tabella seguente:

Tipo Facoltativo Esempio
URL Il valore predefinito è l'URI della pagina corrente o il valore specificato.
Ignorata quando vengono impostati data-ux_mode="popup" e data-callback.
data-login_uri="https://www.example.com/login"

L'endpoint di accesso deve gestire le richieste POST contenenti una chiave credential con un valore token ID nel corpo.

Di seguito è riportata una richiesta di esempio all'endpoint di accesso:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

richiamata dati

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"

Potrebbe essere utilizzato uno degli attributi data-login_uri e data-callback. Dipende dalle seguenti configurazioni di componenti e modalità UX:

  • L'attributo data-login_uri è obbligatorio per la modalità UX del pulsante Accedi con Google redirect, che ignora l'attributo data-callback.

  • Uno di questi due attributi deve essere impostato per Google One Tap e per il pulsante Accedi con Google popup Modalità UX. Se sono impostati entrambi, l'attributo data-callback ha una precedenza più elevata.

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_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 torna al gestore di credenziali nativo quando non esiste una sessione Google. Non puoi impostare entrambi gli attributi data-native_callback e data-native_login_uri. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa Facoltativo data-login_uri="https://www.example.com/password_login"

callback_nativo_dati

Questo attributo è il nome della funzione JavaScript che gestisce le credenziali della password restituite dal gestore di credenziali nativo del browser. Se imposti l'attributo data-native_login_uri o l'attributo data-native_callback, la libreria JavaScript riconduce al gestore di credenziali nativo quando non esiste una sessione Google. Non puoi impostare sia data-native_callback che data-native_login_uri. Per ulteriori informazioni, consulta la seguente tabella:

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 le credenziali 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 le credenziali 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. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
URL Facoltativo data-native_password_param="pwd"

data-cancel_on_tap_outside

Questo attributo consente di stabilire se annullare o meno la richiesta One Tap se l'utente fa clic al di fuori della richiesta. Il valore predefinito è true. Per disabilitarlo, imposta il valore su false. Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
boolean Facoltativo data-cancel_on_tap_outside="false"

data-prompt_parent_id

Questo attributo imposta l'ID DOM dell'elemento contenitore. Se non è impostata, viene mostrata la richiesta One Tap nell'angolo in alto a destra della finestra. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa Facoltativo data-prompt_parent_id="parent_id"

Questo attributo ignora One Tap se il cookie specificato ha un valore non vuoto. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
stringa Facoltativo data-skip_prompt_cookie="SID"

dati-nonce

Questo attributo è una stringa casuale utilizzata dal token ID per impedire attacchi ripetuti. Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
stringa Facoltativo data-nonce="biaqbm70g23"

La lunghezza del nonce è limitata alla dimensione JWT massima supportata dal tuo ambiente e ai vincoli delle dimensioni HTTP dei singoli browser e server.

contesto-dati

Questo attributo modifica il testo del titolo e dei messaggi visualizzati nella richiesta One Tap. Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
stringa Facoltativo data-context="use"

Nella tabella seguente sono elencati i contesti disponibili e le relative descrizioni:

Contesto
signin "Accedi con Google"
signup "Registrati con Google"
use "Utilizza con Google"

richiamata_data-moment

Questo attributo è il nome della funzione dell'ascoltatore della notifica dello stato dell'interfaccia utente del prompt. Per ulteriori informazioni, 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.

Se devi mostrare One Tap in un dominio principale e nei suoi sottodomini, trasferisci il dominio principale a questo attributo in modo che venga utilizzato un singolo cookie a 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 Accedi con Google. Il valore predefinito è popup. Questo attributo non influisce sull'UX di One Tap. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
stringa Facoltativo data-ux_mode="redirect"

Nella tabella seguente sono elencate 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 il reindirizzamento a pagina intera.

data-allowed_parent_origin

Le origini autorizzate a incorporare l'iframe intermedio. One Tap viene eseguito in modalità iframe intermedia se questo attributo presenta. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa o array di stringhe Facoltativo data-allowed_parent_origin="https://example.com"

Nella tabella seguente sono elencati i tipi di valori supportati e le relative descrizioni.

Tipi di valore
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 One Tap della modalità iframe intermedia non andrà a buon fine e verrà interrotta.

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 si utilizzano 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, i valori https://*.com e https://*.co.uk non sono validi. Come indicato sopra, "https://*.example.com" corrisponde a example.com e ai relativi sottodomini. Puoi anche utilizzare un elenco separato da virgole per rappresentare due domini diversi. Ad esempio, "https://example1.com,https://*.example2.com" corrisponde ai domini example1.com, example2.com e ai sottodomini di example2.com
  • I domini con caratteri jolly devono iniziare con uno schema https:// sicuro, pertanto "*.example.com" viene considerato non valido.

data-intermediate_iframe_close_callback

Sostituisce il 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 è quello di rimuovere immediatamente l'iframe intermedio dal DOM.

Il campo data-intermediate_iframe_close_callback ha effetto solo in modalità iframe intermedio. Ha impatto solo sull'iframe intermedio, invece che sull'iframe One Tap. L'interfaccia utente One Tap viene rimossa prima che il callback venga richiamato.

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.

supporto-dati-itp

Questo campo determina se l'esperienza utente One Tap aggiornata deve essere abilitata sui browser che supportano la prevenzione del tracciamento intelligente (ITP). Il valore predefinito è false. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
boolean Facoltativo data-itp_support="true"

data-login_hint

Se la tua applicazione sa in anticipo quale utente deve eseguire l'accesso, può fornire un suggerimento per l'accesso a Google. Se l'operazione ha esito positivo, la selezione dell'account viene ignorata. I valori accettati sono: un indirizzo email o un sotto campo del token ID.

Per ulteriori informazioni, consulta la documentazione di OpenID Connect per login_hint.

Tipo Obbligatorio Esempio
Stringa. Può essere un indirizzo email o il valore del campo sub dal token ID. Facoltativo data-login_hint="elisa.beckett@gmail.com"

data-hd

Se un utente ha più account e deve accedere solo con il proprio account Workspace, utilizza questo metodo per fornire a Google un suggerimento sul nome di dominio. Se l'operazione ha esito positivo, gli account utente visualizzati durante la selezione dell'account sono limitati al dominio fornito. Un valore carattere jolly: * offre solo account Workspace all'utente ed esclude gli account consumer (utente@gmail.com) durante la selezione dell'account.

Per ulteriori informazioni, 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. Consulta la pagina Migrazione a FedCM per ulteriori informazioni.

Tipo Obbligatorio Esempio
boolean Facoltativo data-use_fedcm_for_prompt="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 visualizzare 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 seguente tabella elenca gli attributi visivi dei dati e le relative descrizioni:

Attributo
data-type Il tipo di pulsante: icona o pulsante standard.
data-theme Il tema del pulsante. Ad esempio, riempimento_blu o riempimento_nero.
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 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 richiamata quando si fa clic sul pulsante Accedi con Google.

Tipi di attributi

Le seguenti sezioni contengono informazioni dettagliate sul tipo di attributo e un esempio.

tipo di dati

Il tipo di pulsante. Il valore predefinito è standard. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa data-type="icon"

Nella tabella seguente sono elencati i tipi di pulsanti disponibili e le relative descrizioni:

Tipo
standard
Un pulsante con testo o informazioni personalizzate.
icon
Un pulsante icona senza testo.

tema-dati

Il tema del pulsante. Il valore predefinito è outline. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa Facoltativo data-theme="filled_blue"

Nella tabella seguente sono elencati i temi disponibili e le relative descrizioni:

Tema
outline
Un pulsante standard con uno sfondo bianco Un pulsante con un&#39;icona con uno sfondo bianco Un pulsante personalizzato con uno sfondo bianco
Il tema standard dei pulsanti.
filled_blue
Un pulsante standard con uno sfondo blu Un pulsante con un&#39;icona con sfondo blu Un pulsante personalizzato con sfondo blu
Il tema dei pulsanti con riempimento blu.
filled_black
Un pulsante standard con uno sfondo nero Un pulsante icona con uno sfondo nero Un pulsante personalizzato con sfondo nero
Il tema dei pulsanti con riempimento nero.

data-size

Le dimensioni del pulsante. Il valore predefinito è large. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa Facoltativo data-size="small"

Nella tabella seguente sono elencate le dimensioni dei pulsanti disponibili con le relative descrizioni.

Dimensioni
large
Un pulsante standard di grandi dimensioni Un pulsante icona grande Un grande pulsante personalizzato
Un pulsante di grandi dimensioni.
medium
Un pulsante standard di medie dimensioni Pulsante con icona di medie dimensioni
Un pulsante di medie dimensioni.
small
Un piccolo pulsante Un piccolo pulsante a forma di icona
Un piccolo pulsante.

testo-dati

Il testo del pulsante. Il valore predefinito è signin_with. Non ci sono 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"

Nella tabella seguente sono elencati i testi dei pulsanti disponibili e le relative descrizioni:

Testo
signin_with
Un pulsante standard con l&#39;etichetta &quot;Accedi con Google&quot; Un pulsante a forma di icona senza testo visibile
Il testo del pulsante è "Accedi con Google".
signup_with
Un pulsante standard con l&#39;etichetta &quot;Registrati con Google&quot; Un pulsante a forma di icona senza testo visibile
Il testo del pulsante è "Registrati con Google".
continue_with
Un pulsante standard con l&#39;etichetta &quot;Continua con Google&quot; Un pulsante a forma di icona senza testo visibile
Il testo del pulsante è "Continua con Google".
signin
Un pulsante standard con l&#39;etichetta &quot;Accedi&quot; Un pulsante a forma di icona senza testo visibile
Il testo del pulsante è "Accedi".

forma dei dati

La forma del pulsante. Il valore predefinito è rectangular. Per ulteriori informazioni, consulta la seguente tabella:

Tipo Obbligatorio Esempio
stringa Facoltativo data-shape="rectangular"

Nella tabella seguente sono elencate le forme di pulsanti disponibili e le relative descrizioni:

Shape
rectangular
Un pulsante rettangolare standard Un pulsante a forma di icona rettangolare Un pulsante rettangolare personalizzato
Il pulsante di forma rettangolare. Se utilizzato per il tipo di pulsante icon, è uguale a square.
pill
Un pulsante standard a forma di pillola Pulsante con icona a forma di pillola Un pulsante personalizzato a forma di pillola
Il pulsante a forma di pillola. Se utilizzato per il tipo di pulsante icon, è uguale a circle.
circle
Un pulsante rotondo standard Un pulsante con un&#39;icona circolare Un pulsante rotondo personalizzato
Il pulsante a forma di cerchio. Se utilizzato per il tipo di pulsante standard, è uguale a pill.
square
Un pulsante quadrato standard Pulsante con icona quadrata Un pulsante quadrato personalizzato
Il pulsante di forma quadrata. Se utilizzato per il tipo di pulsante standard, è uguale a rectangular.

allineamento-logo_dati

L'allineamento del logo Google. Il valore predefinito è left. Questo attributo si applica solo al tipo di pulsante standard. Consulta la seguente tabella per ulteriori informazioni:

Tipo Obbligatorio Esempio
stringa Facoltativo data-logo_alignment="center"

Nella tabella seguente sono elencati gli allineamenti disponibili e le relative descrizioni:

logo_alignment
left
Un pulsante standard con il logo G a sinistra
Consente di allineare il logo Google a sinistra.
center
Un pulsante standard con il logo G al centro
Allinea al centro il logo di Google.

larghezza dei dati

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

regione dati

Campo facoltativo. Visualizza il testo del pulsante utilizzando le impostazioni internazionali specificate, altrimenti imposta come valore predefinito l'Account Google dell'utente o le impostazioni del browser. 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 è impostato, vengono utilizzate le impostazioni internazionali predefinite del browser o le preferenze dell'utente della sessione Google. Pertanto, utenti diversi potrebbero vedere versioni diverse dei pulsanti localizzati e, probabilmente, di dimensioni diverse.

Per ulteriori informazioni, consulta la tabella seguente:

Tipo Obbligatorio Esempio
stringa Facoltativo data-locale="zh_CN"

click_listener

Puoi definire una funzione JavaScript da chiamare quando viene fatto clic sul pulsante Accedi con Google utilizzando l'attributo 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...")
  }
  

In questo esempio, il messaggio Clic sul pulsante Accedi con Google viene registrato nella console quando l'utente fa clic sul pulsante Accedi con Google.

Integrazione lato server

Gli endpoint lato server devono gestire le seguenti richieste HTTP POST.

L'endpoint del gestore del token ID

L'endpoint del gestore del token ID elabora il token ID. In base allo stato dell'account corrispondente, puoi eseguire l'accesso dell'utente e indirizzarlo a una pagina di registrazione o a una pagina di collegamento dell'account per ulteriori informazioni.

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 del gestore.
Parametro di richiesta g_csrf_token Una stringa uguale al valore del cookie precedente, g_csrf_token.
Parametro di richiesta credential Il token ID emesso da Google.
Parametro di richiesta select_by Modalità di selezione della credenziale.

credenziale

Quando 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 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"
}

Il campo sub è un identificatore univoco globale per l'Account Google. Utilizza solo il campo sub come identificatore dell'utente, poiché è univoco tra tutti gli Account Google e non viene mai riutilizzato. Non utilizzare l'indirizzo email come identificatore, perché un Account Google può avere più indirizzi email in momenti diversi.

Utilizzando i campi email, email_verified e hd puoi determinare se Google ospita un indirizzo email e ne è autorevole. Nei casi in cui Google è autoritativa, l'utente viene confermato come il legittimo proprietario dell'account.

Casi in cui Google è autorevole:

  • email ha un suffisso @gmail.com, questo è un account Gmail.
  • email_verified è true e hd è impostato, questo è un account Google Workspace.

Gli utenti possono registrarsi a un 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. Il valore email_verfied può essere valido anche 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 da allora.

Il campo exp mostra la data di scadenza per la verifica del token sul lato server. Occorre attendere un'ora per il token ID ottenuto da Accedi con Google. Devi verificare il token prima della scadenza. Non utilizzare exp per la gestione delle sessioni. La presenza di un token ID scaduto non significa che l'utente è uscito dall'account. L'app è responsabile della gestione delle sessioni degli utenti.

select_by

Nella tabella seguente sono elencati i possibili valori per il campo select_by. Il tipo di pulsante usato insieme allo stato della sessione e del consenso vengono usati per impostare il valore,

  • L'utente ha premuto il pulsante One Tap o Accedi con Google oppure ha utilizzato la procedura di accesso automatico touchless.

  • È stata trovata una sessione esistente oppure l'utente ha selezionato e eseguito l'accesso a un Account Google per stabilire una nuova sessione.

  • Prima di condividere le credenziali del token ID con la tua app, l'utente

    • hanno premuto il pulsante Conferma per concedere il consenso alla condivisione delle credenziali,
    • aveva precedentemente concesso il consenso e utilizzato Seleziona un account per scegliere un Account Google.

Il valore di questo campo è impostato su uno di questi tipi:

Valore Descrizione
auto Accesso automatico di un utente con una sessione esistente che in precedenza aveva concesso il consenso a condividere le credenziali.
user Un utente con una sessione esistente che in precedenza aveva concesso il consenso ha premuto il pulsante "Continua come" One Tap per condividere le credenziali.
user_1tap Un utente con una sessione esistente ha premuto il pulsante "Continua come" One Tap per concedere il consenso e condividere le credenziali. Si applica solo a Chrome 75 e versioni successive.
user_2tap Un utente senza una sessione esistente ha premuto il pulsante "Continua come" One Tap per selezionare un account, quindi preme il pulsante Conferma in una finestra popup per concedere il consenso e condividere le credenziali. Si applica ai browser non basati su Chromium.
btn Un utente con una sessione esistente che in precedenza aveva concesso il consenso ha premuto il pulsante Accedi con Google e ha selezionato un Account Google da "Scegli un account" per condividere le credenziali.
btn_confirm Un utente con una sessione esistente ha premuto il pulsante Accedi con Google e poi il pulsante Conferma per concedere il consenso e condividere le credenziali.
btn_add_session Un utente senza una sessione esistente che in precedenza aveva concesso il consenso ha premuto il pulsante Accedi con Google per selezionare un Account Google e condividere le credenziali.
btn_confirm_add_session Un utente senza una sessione esistente ha prima premuto il pulsante Accedi con Google per selezionare un Account Google, quindi premuto per confermare e condividere le credenziali.

Endpoint gestore credenziali password

L'endpoint del gestore delle credenziali delle password elabora le credenziali della password recuperate dal gestore di credenziali nativo.

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 del gestore.
Parametro di richiesta g_csrf_token Una stringa uguale al valore del cookie precedente, g_csrf_token.
Parametro di richiesta email Questo ID token emesso da Google.
Parametro di richiesta password Modalità di selezione della credenziale.