Descripción general

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 Google 服务器颁发访问 令牌。

Si deseas obtener más información sobre el flujo de código de autorización de vinculación de OAuth, consulta Implementa tu servidor de OAuth.

Lineamientos de diseño

En esta sección, se describen los requisitos y las recomendaciones de diseño para la pantalla de consentimiento de vinculación de cuentas de Cambio de app. Después de que Google llame a tu app, esta mostrará la pantalla de consentimiento al usuario.

Requisitos

  1. Debes comunicar que la cuenta del usuario se está vinculando a Google, no a un producto específico de Google, como Google Home o Asistente de Google.

Recomendaciones

Te recomendamos que hagas lo siguiente:

  1. Mostrar la Política de Privacidad de Google Incluye un vínculo a la Política de Privacidad de Google en la pantalla de consentimiento.

  2. Datos que se compartirán. Usa un lenguaje claro y conciso para indicarle al usuario qué datos suyos requiere Google y por qué.

  3. Llamado a la acción claro. Incluye un llamado a la acción claro en la pantalla de consentimiento, como “Aceptar y vincular”. Esto se debe a que los usuarios deben comprender qué datos deben compartir con Google para vincular sus cuentas.

  4. Capacidad de rechazar o cancelar Proporciona una forma para que los usuarios vuelvan, rechacen o cancelen la vinculación si deciden no vincular sus cuentas.

  5. Capacidad de desvincular. Ofrece un mecanismo para que los usuarios desvinculen sus cuentas, como una URL a la configuración de la cuenta en tu plataforma. Como alternativa, puedes incluir un vínculo a la Cuenta de Google, en la que los usuarios pueden administrar su cuenta vinculada.

  6. Capacidad de cambiar la cuenta de usuario Sugerir un método para que los usuarios cambien de cuenta Esto es especialmente beneficioso si los usuarios suelen tener varias cuentas.

    • Si un usuario debe cerrar la pantalla de consentimiento para cambiar de cuenta, envía un error recuperable a Google para que el usuario pueda acceder a la cuenta deseada con la vinculación de OAuth y el flujo implícito.
  7. Incluye tu logotipo. Muestra el logotipo de tu empresa en la pantalla de consentimiento. Usa tus lineamientos de estilo para colocar tu logotipo. Si también deseas mostrar el logotipo de Google, consulta Logotipos y marcas.

En esta figura, se muestra un ejemplo de pantalla de consentimiento con referencias a los
            requisitos y las recomendaciones individuales que se deben seguir cuando
            diseñes una pantalla de consentimiento del usuario.
Figura 2. Lineamientos de diseño de la pantalla de consentimiento de vinculación de cuentas

Configuración de App Flip basada en OAuth

En las siguientes secciones, se describen los requisitos previos para el cambio de app basado en OAuth y cómo configurar tu proyecto de cambio de app en la Consola de Actions.

Crea una acción y configura un servidor de OAuth 2.0

Antes de configurar App Flip, debes hacer lo siguiente:

Configura App Flip en la Consola de Actions

En la siguiente sección, se describe cómo configurar App Flip en la consola de Actions.

  1. En el menú de navegación superior, haz clic en Develop. Luego, haz clic en Vinculación de la cuenta en el menú de navegación izquierdo.
  2. Activa el interruptor junto a Vinculación de cuentas.
  3. En Creación de cuentas, selecciona No, solo quiero permitir la creación de cuentas en mi sitio web.
  4. Haz clic en Siguiente.
  5. En Tipo de vinculación, selecciona OAuth y Código de autorización en los menús desplegables.
  6. Haz clic en Siguiente.
  7. Completa todos los campos en Información del cliente de OAuth. (Si no se admite App Flip, se usa OAuth normal como alternativa).
  8. Haz clic en Siguiente.
  9. En Usa tu app para la vinculación de cuentas (opcional), marca Habilitar para iOS.
  10. Completa el campo Universal Link. Para obtener más información sobre los vínculos universales, consulta Cómo permitir que las apps y los sitios web vinculen tu contenido .
  11. Si deseas configurar tu cliente de forma opcional, agrega permisos y haz clic en Agregar permiso en Configura tu cliente (opcional). De lo contrario, haz clic en Siguiente.
  12. En Instrucciones de prueba, escribe test (o cualquier otra cadena) como marcador de posición. (Completar este campo con una cuenta de prueba solo es necesario si realmente envías tu Acción para que se publique).
  13. Haz clic en Guardar.

Ahora puedes continuar con la siguiente sección para implementar App Flip en tu app para iOS o Android.

Implementa App Flip en tus apps nativas

Para implementar App Flip, debes modificar el código de autorización del usuario en tu app para aceptar un vínculo directo de Google.

Prueba App Flip en tu dispositivo

Ahora que creaste una acción y configuraste App Flip en la consola y en tu app, puedes probar App Flip en tu dispositivo móvil. Puedes usar la app de Asistente de Google para probar App Flip.

Para probar App Flip desde la app del Asistente, sigue estos pasos:

  1. Ve a la consola de Actions y selecciona tu proyecto.
  2. En el menú de navegación superior, haz clic en Test.
  3. Activa el flujo de vinculación de cuentas desde la app de Asistente:
    1. Abre la app del Asistente de Google.
    2. Haz clic en Configuración.
    3. En la pestaña Asistente, haz clic en Control de la casa.
    4. Haz clic en Agregar(+).
    5. Selecciona tu acción en la lista de proveedores. En la lista, tendrá el prefijo “[test]”. Cuando selecciones tu acción [de prueba] en la lista, se debería abrir tu app.
    6. Verifica que se haya iniciado tu app y comienza a probar el flujo de autorización.