El Acceso con Google (GSI) para el Asistente proporciona la vinculación más fluida. para los usuarios y es el flujo más fácil de implementar por parte de los desarrolladores. Con GSI, tu acción puede solicitar acceso al perfil de Google de tu usuario durante una conversación y, si el usuario da su consentimiento, recibir su nombre, dirección de correo electrónico y tu foto de perfil. Luego, tu acción puede usar esta información para verificar si el elemento usuario tiene una Cuenta de Google en tu sistema. De lo contrario, tu acción le preguntará al usuario si desean crear una cuenta nueva en tu sistema según su cuenta de Google la información del perfil.
GSI es la solución de vinculación de cuentas recomendada si se aplica alguna de las siguientes condiciones:
- No tienes un sistema de autenticación existente o esperas que todos que los usuarios tengan una Cuenta de Google. Por ejemplo, si tu Acción es específicamente segmentarse para el Asistente, puedes esperar que todos tus usuarios tengan acceso cuentas de servicio.
- Tienes un sistema de autenticación existente y solo quieres vincular a los usuarios que hayan accedido a tu sistema con sus Cuentas de Google.
Para verificar que la GSI sea la solución adecuada para ti, consulta la Página Elige el tipo de vinculación de cuenta
Términos clave
Antes de leer sobre el funcionamiento de las GSI, familiarízate con los siguientes términos:
Token de ID de Google: es una aserción firmada de la identidad de un usuario que contiene la información básica del perfil de Google de un usuario (su nombre, dirección de correo electrónico y foto de perfil). Un token de ID de Google es un Token web JSON (JWT).
El siguiente es un ejemplo de un token decodificado:
{ "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" }
- Intent de asistente para el acceso a la cuenta: Es un intent de ayuda al que llamas.
solicita un flujo de vinculación de cuentas desde Asistente. Para obtener más información,
consulta Acceso a la cuenta.
- Cadena de contexto: Es una cadena personalizada que agregas a la cuenta. intent de asistente de acceso que le indica al usuario por qué necesitas que vincule a su cuenta.
Cómo funciona
El flujo fundamental de la GSI es el siguiente:
- Tu acción solicita el consentimiento del usuario para acceder a su perfil de Google.
- Una vez que el usuario otorga su consentimiento, tu acción recibe un token de ID de Google que contiene la información del perfil de Google del usuario.
- Valida y decodifica el token para leer el contenido del perfil. Si usas Biblioteca cliente de Actions on Google para Node.js o la biblioteca cliente de Java este valida y decodifica el token por ti.
Tu acción usa este token para verificar si el perfil de Google del usuario existe información en tu sistema.
- Si lo hace, el usuario ya accedió a tu sistema con su Cuenta de Google. El usuario puede continuar la conversación con el Asistente con su identidad vinculada a su Cuenta de Google.
Si no es así, el usuario puede crear una cuenta nueva en tu sistema con la información contenida en el token de ID de Google. Luego, el usuario puede continuar la conversación con Asistente con su nueva cuenta vinculada.
Flujos de Acceso con Google
En esta sección, se describen los distintos flujos que pueden ocurrir con el Acceso con Google.
Flujo 1: La información del usuario existe en tu sistema
En el siguiente diagrama, se muestra el flujo de extremo a extremo que se produce con la GSI cuando se Cuando la información del usuario ya existe en tu sistema:
En este caso, llamas al intent de ayuda actions.intent.SIGN_IN
con un
la cadena de contexto que personalizas. Este intent solicita al usuario permiso para
acceder a la información de su perfil de Google.
Una vez que el usuario otorga su consentimiento, Asistente envía una solicitud que contiene lo siguiente:
información del perfil de user@gmail.com
. En este caso, la información
contenido en el token de ID de Google para user@gmail.com
coincide con una cuenta de
tu sistema para que la identidad del usuario en tu Action se vincule automáticamente.
a esa cuenta. Entonces, tu webhook puede leer el orden habitual del usuario desde
una base de datos y responder en consecuencia.
Flujo 2: La información del usuario no existe en su sistema
En el siguiente diagrama, se muestra el flujo de extremo a extremo que se produce con la GSI cuando La información del usuario no existe en tu sistema:
En este caso, la información contenida en el token de ID de Google para
user@gmail.com
no coincide con una cuenta de tu sistema, así que Asistente
le pregunta al usuario si desea crear una cuenta nueva. El usuario puede completar
el proceso de creación de la cuenta con la voz, en lugar de transferirlo a
un dispositivo analizado.
Cuando el usuario acepta crear una cuenta, tu servicio usa la información en el token de ID (el nombre y la dirección de correo electrónico del usuario) para crear una cuenta para del usuario. Una vez creada la cuenta, la identidad del usuario en tu Acción esté vinculado a su nueva Cuenta de Google.
En este caso, el usuario no tiene un pedido habitual porque es nuevo en el servicio, por lo que tu acción le pregunta qué quiere pedir. Tú También puedes preguntarle al usuario si desea establecer su pedido más reciente. que es el pedido de siempre.