Elige el tipo de vinculación de cuentas

El tipo de vinculación de cuenta óptimo para tu Acción es aquel que proporciona la experiencia más simple a tus usuarios y que se ajusta a las necesidades de tu aplicación o empresa. La elección del tipo de vinculación depende en su mayoría de los siguientes factores:

  • Si deseas permitir la creación de cuentas por voz
  • Si quieres que los usuarios puedan acceder a tu servicio con una Cuenta que no sea de Google
  • Indica si tu servicio puede almacenar o no información confidencial (es decir, un secreto del cliente).

Para determinar el tipo ideal de vinculación de cuentas, sigue estos pasos:

  1. Considera las preguntas de la sección Identifica tu tipo de acceso preferido.
  2. Consulte el árbol de decisión para elegir su tipo de vinculación.
  3. Navega a la sección que corresponda al tipo inicial que elegiste para definir mejor cómo funciona.

Identifica tu tipo de acceso preferido

Antes de consultar el árbol de decisiones, ten en cuenta las siguientes preguntas:

  • ¿Esperas que todos tus usuarios tengan una Cuenta de Google?
    • Si tu Acción solo se orienta a Asistente, es posible que todos los usuarios tengan una Cuenta de Google. Si tu Acción se orienta a otras plataformas además de Asistente, no puedes esperar que todos tus usuarios tengan una Cuenta de Google.
    • Si tu servicio ya tiene usuarios existentes, es probable que algunos no tengan una Cuenta de Google o que no hayan accedido al servicio con una.
  • Si tienes una implementación de OAuth, ¿se puede extender para admitir el protocolo de Google?
    • Para admitir el protocolo de Google, debes poder agregar las funcionalidades intent=get y intent=create al extremo de intercambio de tokens. Esta funcionalidad permite a Google verificar si el usuario ya existe en tu backend y realizar una solicitud para crear una cuenta nueva en tu servicio, respectivamente.

Sigue el árbol de decisión que se incluye a continuación para identificar el tipo de vinculación de cuentas más adecuado para ti y tus usuarios:

Una vez que selecciones un tipo de vinculación, ve a la sección correspondiente que se encuentra a continuación para obtener más información sobre su funcionamiento y tomar decisiones adicionales sobre el funcionamiento de la vinculación de cuentas en tu Acción.

Vinculación "optimizada" del Acceso con Google basado en OAuth

El tipo de vinculación optimizada agrega el Acceso con Google (GSI) a la vinculación de cuentas basada en OAuth, que proporciona los beneficios de la GSI (por ejemplo, la vinculación por voz para los usuarios de Google) y, al mismo tiempo, permite la vinculación de cuentas para los usuarios que se registraron en tu servicio con una cuenta que no es de Google. Este tipo de vinculación es especialmente beneficioso para los usuarios finales porque les proporciona un flujo de baja fricción con un resguardo para usuarios que no son de Google. Para obtener más información sobre cómo funcionan las vinculaciones optimizadas, consulta la guía del concepto de vinculación "optimizada" del Acceso con Google basado en OAuth.

Definir mejor el tipo de vinculación "optimizado" del Acceso con Google basado en OAuth

Cuando usas el tipo de vinculación optimizado en tu Acción, debes especificar las respuestas a las siguientes preguntas en la Consola de Actions para definir cómo funciona:

  1. ¿Quieres habilitar la creación de cuentas de voz o solo la creación de cuentas en tu sitio web?

    En general, debes habilitar la creación de cuentas por voz para que los usuarios de un dispositivo no analizado puedan crear una sin tener que transferirla a otro dispositivo. Si no permites la creación de cuentas por voz, Asistente abrirá la URL del sitio web que proporcionaste para la autenticación de usuarios y lo dirigirá a un teléfono para continuar con el flujo de vinculación de cuentas.

    Sin embargo, no debes permitir la creación de cuentas por voz si se cumple alguna de las siguientes condiciones:

    1. Necesitas control total sobre el flujo de creación de la cuenta. Por ejemplo, es posible que debas mostrar tus Condiciones del Servicio al usuario durante la creación de la cuenta o algún otro tipo de aviso.
    2. Tu objetivo es asegurarte de que los usuarios que ya tienen una cuenta accedan con ella. Por ejemplo, es posible que desees que los usuarios sigan usando sus cuentas existentes si ofreces un programa de lealtad y no quieres que pierdan los puntos acumulados en su cuenta.
  2. ¿Quieres usar el flujo de código de autorización o el implícito?

    El flujo de código de autorización y el flujo implícito difieren en que el flujo de código de autorización requiere un segundo extremo, el de intercambio de tokens. Este extremo usa tokens de actualización para generar tokens de acceso nuevos de corta duración sin pedirle al usuario que vuelva a acceder.

    Por el contrario, si usas el flujo implícito, debes mostrar a Google un token de acceso de larga duración que, por lo general, no necesita volver a generarse. Para obtener más información sobre el código de autorización y los flujos implícitos, consulta la guía del concepto de vinculación "optimizada" del Acceso con Google basado en OAuth.

    Google recomienda usar el flujo de código de autorización en tu Acción porque es más seguro. Sin embargo, usa el flujo implícito si tu servicio no puede almacenar información confidencial (es decir, un secreto del cliente). Por ejemplo, debes usar el flujo implícito para clientes públicos como aplicaciones de una sola página (SPA).

Después de considerar estos puntos de decisión, consulta el siguiente árbol de decisión:

Acceso con Google

Con el tipo de vinculación de Acceso con Google (GSI), tu Acción puede solicitar acceso al perfil de Google de tu usuario durante una conversación y usar la información del perfil para verificar si el usuario existe en el backend de tu servicio. Si el usuario no existe, puede crear una cuenta nueva en tu sistema con la información de su perfil de Google.

Para la GSI, debes habilitar la creación de cuentas con la voz, lo que le permite al usuario completar todo el flujo por voz. Para obtener más información sobre la GSI, consulta la guía conceptual de Acceso con Google.

vinculación con OAuth

Con el tipo de vinculación de OAuth, el usuario accede con el flujo estándar de OAuth 2.0. El tipo de vinculación de OAuth es compatible con dos flujos de OAuth 2.0 estándar de la industria: el flujo de código implícito y el de autorización.

Google no recomienda el tipo de vinculación OAuth por sí solo, ya que requiere transferir al usuario de la voz a la pantalla para completar el proceso de acceso si el usuario está usando un dispositivo sin filtro. Puedes considerar usar este flujo si tienes una implementación existente de un servidor de OAuth 2.0 y no puedes extender el extremo de intercambio de tokens para agregar compatibilidad con los protocolos de Google de vinculación automática y creación de cuentas desde un token de ID. Para obtener más información, consulta la guía del concepto de vinculación de OAuth.

Define mejor el flujo

Cuando usas el tipo de vinculación de OAuth en tu Acción, debes especificar la respuesta a la siguiente pregunta en la Consola de Actions para definir cómo funciona:

  1. ¿Quieres usar el flujo de código de autorización o el implícito?

    El tipo de vinculación de OAuth es compatible con dos flujos de OAuth 2.0 estándar de la industria: el flujo de código implícito y el de autorización. El flujo de código de autorización y el flujo implícito difieren en que el flujo de código de autorización requiere un segundo extremo, el de intercambio de tokens. Este extremo usa tokens de actualización para generar tokens de acceso nuevos de corta duración sin pedirle al usuario que vuelva a acceder.

    Por el contrario, si usas el flujo implícito, debes mostrar a Google un token de acceso de larga duración que, por lo general, no necesita volver a generarse. Para obtener más información sobre el código de autorización y los flujos implícitos, consulta la guía de conceptos de vinculación de OAuth.

    Google recomienda usar el flujo de código de autorización en tu Acción porque es más seguro. Sin embargo, usa el flujo implícito si tu servicio no puede almacenar información confidencial (es decir, un secreto del cliente). Por ejemplo, debes usar el flujo implícito para clientes públicos como aplicaciones de una sola página (SPA).