Il tipo di collegamento dell'account ottimale per l'Azione è che offra agli utenti l'esperienza più semplice e che soddisfi le esigenze della tua applicazione o della tua attività. La scelta del tipo di collegamento dipende principalmente dai seguenti fattori:
- Se vuoi consentire la creazione di account tramite comandi vocali
- Se vuoi che gli utenti possano accedere al tuo servizio con un account non Google
- Indica se il servizio può archiviare informazioni riservate (ad es. un client secret)
Per determinare il tipo di collegamento dell'account ideale:
- Considera le domande nella sezione Identificare il tipo di accesso preferito.
- Consulta la struttura decisionale per scegliere il tipo di collegamento.
- Vai alla sezione corrispondente al tipo iniziale che hai scelto per perfezionare ulteriormente il funzionamento.
Identifica il tipo di accesso che preferisci
Prima di consultare l'albero decisionale, poniti le seguenti domande:
- Prevedi che tutti i tuoi utenti abbiano un Account Google?
- Se l'Azione ha come target solo l'Assistente Google, tutti i tuoi utenti avranno un Account Google. Se l'Azione ha come target piattaforme diverse dall'assistente, non puoi aspettarti che tutti i tuoi utenti abbiano un Account Google.
- Se nel servizio sono già presenti utenti, è probabile che alcuni non abbiano un Account Google o non abbiano effettuato l'accesso al servizio con un Account Google.
- Se hai un'implementazione OAuth, può essere estesa per supportare il protocollo
Google?
- Per supportare il protocollo Google, devi poter aggiungere le funzionalità
intent=get
eintent=create
all'endpoint di scambio di token. Questa funzionalità consente a Google di verificare se l'utente esiste già nel tuo backend e di effettuare una richiesta per creare un nuovo account sul tuo servizio, rispettivamente.
- Per supportare il protocollo Google, devi poter aggiungere le funzionalità
Segui la struttura decisionale di seguito per identificare il tipo di collegamento dell'account ottimale per te e i tuoi utenti:
Dopo aver selezionato un tipo di collegamento, vai alla sezione corrispondente riportata di seguito per saperne di più su come funziona e prendere ulteriori decisioni in merito al funzionamento del collegamento degli account nell'Azione.
OAuth e Accedi con Google
Il tipo di collegamento OAuth e Accedi con Google aggiunge GSI oltre al collegamento dell'account basato su OAuth, il che offre i vantaggi di GSI (ad esempio, collegamento basato sulla voce per gli utenti Google), abilitando anche il collegamento dell'account per gli utenti che si sono registrati al tuo servizio con un account non Google. Questo tipo di collegamento è particolarmente vantaggioso per gli utenti finali perché offre un flusso a basso attrito per gli utenti di Google, mentre quello di riserva per gli utenti non Google. Per ulteriori informazioni su come funziona il tipo di collegamento OAuth e GSI, consulta la guida ai concetti di OAuth e Accedi con Google.
Perfezionare il tipo di collegamento OAuth e Accedi con Google
Quando utilizzi il tipo di collegamento degli account OAuth e GSI nell'Azione, devi specificare le risposte alle seguenti domande nella console di Actions per definirne il funzionamento:
Vuoi abilitare la creazione di account vocali o consentire solo la creazione di account sul tuo sito web?
In genere, è consigliabile abilitare la creazione di account tramite comandi vocali, in modo che gli utenti che utilizzano un dispositivo non incluso in uno schermo possano creare un account senza dover effettuare il trasferimento su un altro dispositivo. Se non consenti la creazione di account tramite comandi vocali, l'assistente apre l'URL al sito web che hai fornito per l'autenticazione utente e indirizza l'utente a un telefono per continuare la procedura di collegamento dell'account.
Tuttavia, non consentire la creazione di account tramite comandi vocali se si verifica una delle seguenti condizioni:
- Devi avere il controllo completo del flusso di creazione degli account. Ad esempio, potresti dover mostrare i tuoi Termini di servizio all'utente durante la creazione dell'account o durante qualche altro tipo di avviso.
- Vuoi assicurarti che gli utenti che hanno già un account sul tuo sito accedano con quell'account. Ad esempio, se offri un programma fedeltà e non vuoi che perdano i punti accumulati sull'account, potresti voler continuare a utilizzare i loro account esistenti.
Vuoi utilizzare il flusso del codice di autorizzazione o il flusso implicito?
Il flusso del codice di autorizzazione e il flusso implicito differiscono per il fatto che il flusso del codice di autorizzazione richiede un secondo endpoint, l'endpoint di scambio di token. Questo endpoint utilizza i token di aggiornamento per generare nuovi token di accesso di breve durata senza chiedere all'utente di eseguire nuovamente l'accesso.
Al contrario, se utilizzi il flusso implicito, invii a Google un token di accesso di lunga durata che di solito non deve essere rigenerato. Per ulteriori informazioni sul codice di autorizzazione e sui flussi impliciti, consulta la guida concettuale su OAuth e Accedi con Google.
Google consiglia di utilizzare il flusso del codice di autorizzazione nell'Azione perché è più sicuro. Tuttavia, utilizza il flusso implicito se il servizio non è in grado di archiviare informazioni riservate (ad esempio, un client secret). Ad esempio, devi utilizzare il flusso implicito per i client pubblici come le applicazioni a pagina singola (APS).
Dopo aver considerato questi punti decisionali, consulta il seguente albero decisionale:
Accedi con Google
Con il tipo di collegamento GSI, l'Azione può richiedere l'accesso al profilo Google dell'utente durante una conversazione e utilizzare le informazioni del profilo per verificare se l'utente esiste nel backend del servizio. Se l'utente non esiste, può creare un nuovo account nel tuo sistema utilizzando le informazioni del suo profilo Google.
Per GSI, devi abilitare la creazione di account tramite voce, che permette all'utente di completare l'intero flusso con la voce. Per ulteriori informazioni su GSI, consulta la guida concettuale di Accedi con Google.
OAuth
Con il tipo di collegamento OAuth, l'utente accede con il flusso OAuth 2 standard. Il tipo di collegamento OAuth supporta due flussi OAuth 2.0 standard di settore: i flussi di codice implicito e di autorizzazione.
Google sconsiglia il tipo di collegamento OAuth da solo perché richiede il trasferimento dell'utente da voce a schermo per completare la procedura di accesso se l'utente utilizza un dispositivo non filtrato. Puoi prendere in considerazione l'utilizzo di questo flusso se disponi di un'implementazione esistente di un server OAuth 2 e non puoi estendere l'endpoint di scambio di token per aggiungere il supporto dei protocolli di Google per il collegamento automatico e la creazione di account da un token ID. Per ulteriori informazioni, consulta la guida al concetto di OAuth.
Perfeziona il flusso
Quando utilizzi il tipo di collegamento dell'account OAuth nell'Azione, devi specificare la risposta alla seguente domanda nella console di Actions per definirne il funzionamento:
Vuoi utilizzare il flusso del codice di autorizzazione o il flusso implicito?
Il tipo di collegamento OAuth supporta due flussi OAuth 2.0 standard di settore: i flussi di codice implicito e di autorizzazione. Il flusso del codice di autorizzazione e il flusso implicito differiscono dal fatto che il flusso del codice di autorizzazione richiede un secondo endpoint, l'endpoint di scambio di token. Questo endpoint utilizza i token di aggiornamento per generare nuovi token di accesso di breve durata senza chiedere all'utente di accedere nuovamente.
Al contrario, se utilizzi il flusso implicito, invii a Google un token di accesso di lunga durata che di solito non deve essere rigenerato. Per ulteriori informazioni sul codice di autorizzazione e sui flussi impliciti, consulta la guida al concetto di OAuth.
Google consiglia di utilizzare il flusso del codice di autorizzazione nell'Azione perché è più sicuro. Tuttavia, utilizza il flusso implicito se il servizio non è in grado di archiviare informazioni riservate (ad esempio, un client secret). Ad esempio, devi utilizzare il flusso implicito per i client pubblici come le applicazioni a pagina singola (APS).