Guida concettuale di Accedi con Google

Accedi con Google (GSI) per l'assistente offre il collegamento più fluido possibile agli utenti ed è il flusso più semplice da implementare per gli sviluppatori. Con GSI, l'Azione può richiedere l'accesso al profilo Google dell'utente durante una conversazione e, se l'utente acconsente, riceveremo il nome e l'indirizzo email dell'utente e immagine del profilo. L'Azione può quindi usare queste informazioni per verificare se utente dispone di un Account Google nel tuo sistema. In caso contrario, l'azione chiede all'utente vuole creare un nuovo account nel tuo sistema in base ai propri dati Google, le informazioni del tuo profilo.

GSI è la soluzione consigliata per il collegamento dell'account nei casi seguenti:

  • Non disponi di un sistema di autenticazione esistente e/o prevedi tutti i tuoi ad avere un Account Google. Ad esempio, se l'Azione è specificamente che hanno come target l'assistente, puoi aspettarti che tutti i tuoi utenti abbiano Google .
  • Disponi già di un sistema di autenticazione e vuoi collegare solo gli utenti che hanno eseguito l'accesso al sistema utilizzando i propri Account Google.

Per verificare che GSI sia la soluzione giusta per te, consulta il Pagina Scegli il tipo di collegamento dell'account.

Termini chiave

Prima di leggere il funzionamento di GSI, acquisisci familiarità con i seguenti termini:

  • Token ID Google:un'asserzione firmata dell'identità di un utente che contiene Le informazioni di base del profilo Google di un utente (nome, indirizzo email e immagine del profilo). Un token ID Google è un Token web JSON (JWT).

    Di seguito è riportato un esempio di token decodificato:

{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • user.verificationStatus: una proprietà impostata dal sistema per indicare se la sessione corrente ha un utente verificato.

  • user.accountLinkingStatus: una proprietà impostata dal sistema per indicare se utente della sessione corrente ha un'identità collegata.

  • Scena del sistema di collegamento dell'account:una scena predefinita che implementa la conferma. per il collegamento degli account e possono essere personalizzati per adattarli a casi d'uso specifici.

Come funziona

Il flusso di base per GSI è il seguente:

  1. L'azione chiede all'utente il consenso per accedere al suo profilo Google.
  2. Dopo che l'utente dà il consenso, l'azione riceve un token ID Google che contiene le informazioni del profilo Google dell'utente.
  3. Convalida e decodifica il token per leggere i contenuti del profilo. Se utilizzi Libreria Actions on Google Fulfillment per Node.js, convalida e decodifica il token per te.
  4. L'Azione utilizza questo token per verificare se il profilo Google dell'utente nel tuo sistema.

    1. In questo caso, significa che l'utente ha già effettuato l'accesso al tuo sistema tramite Account Google L'utente può continuare la conversazione con Assistente con la sua identità collegata al suo Account Google.
    2. In caso contrario, l'utente può creare un nuovo account nel tuo sistema utilizzando le informazioni contenute nel token dell'ID Google. L'utente può quindi continuare la conversazione con l'assistente con il suo nuovo account collegato.

Flussi di Accedi con Google

Questa sezione descrive i vari flussi che possono verificarsi con Accedi con Google.

Flusso 1: le informazioni dell'utente sono presenti nel sistema

Il seguente diagramma mostra il flusso end-to-end che si verifica con GSI quando informazioni utente già esistenti nel sistema:

In questo caso, passerai al sistema di collegamento degli account e fornirai una logica personalizzata. Questa scena chiede all'utente l'autorizzazione per accedere alle informazioni del proprio profilo Google.

Dopo che l'utente ha dato il consenso, l'assistente invia una richiesta contenente informazioni del profilo di user@gmail.com. In questo caso, le informazioni contenuto nel token ID Google di user@gmail.com corrisponde a un account in il tuo sistema, in modo che l'identità dell'utente nell'azione venga collegata automaticamente a quell'account. Il webhook può quindi leggere l'ordine abituale dell'utente da un database e rispondere di conseguenza.

Flusso 2: le informazioni dell'utente non esistono nel sistema

Il seguente diagramma mostra il flusso end-to-end che si verifica con GSI quando le informazioni dell'utente non esistono nel tuo sistema:

In questo caso, le informazioni contenute nel token dell'ID Google per user@gmail.com non corrisponde a un account nel tuo sistema, quindi assistente chiede all'utente se vuole creare un nuovo account. L'utente può completare il processo di creazione dell'account tramite comandi vocali anziché trasferirlo su un dispositivo schermato.

Quando l'utente accetta di creare un account, il servizio utilizza le informazioni nel token ID (nome e indirizzo email dell'utente) per creare un account per l'utente. Una volta creato l'account, l'identità dell'utente nell'azione sia collegato al suo nuovo Account Google.

In questo caso, l'utente non ha un ordine abituale perché non ha esperienza di servizio, quindi l'Azione chiede che cosa vogliono ordinare. Tu Può anche chiedere all'utente se vuole impostare l'ordine più recente come al solito.