Vinculación de Cuentas de Google con cambio de app basado en OAuth

OAuth-based App Flip Linking (App Flip) allows your users to easily and quickly link their accounts in your authentication system to their Google accounts. If your app is installed on your user’s phone when they initiate the account linking process, they are seamlessly flipped to your app to obtain user authorization.

This approach provides a faster and easier linking process since the user does not have to re-enter their username and password to authenticate; instead, App Flip leverages the credentials from the user's account on your app. Once a user has linked their Google account with your app, they can take advantage of any integrations that you have developed.

You can set up App Flip for both iOS and Android apps.

This figure shows the steps for a user to link their Google account
            to your authentication system. The first screenshot shows how a user
            can select your app if their Google account is linked to your app.
            The second screenshot shows the confirmation for linking their
            Google account with your app. The third screenshot shows a
            successfully linked user account in the Google app.
Figure 1. Account linking on a user's phone with App Flip.

Requirements

To implement App Flip, you must fulfill the following requirements:

  • You must have an Android or iOS app.
  • You must own, manage and maintain an OAuth 2.0 server which supports the OAuth 2.0 authorization code flow.

Lineamientos de diseño

En esta sección, se describen los requisitos de diseño y las recomendaciones para la pantalla de consentimiento de vinculación de cuentas de App Flip. Después de que Google llama a tu app, esta le muestra al usuario la pantalla de consentimiento.

Requisitos

  1. Debes comunicar que la cuenta del usuario se vinculará 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 requiere Google y por qué.

  3. Llamado a la acción claro. Indica 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 cancelar. Proporciona una forma para que los usuarios vuelvan o cancelen, si deciden no establecer la vinculación.

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

  6. Capacidad de cambiar la cuenta de usuario. Sugerir un método para que los usuarios cambien sus cuentas 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. Utiliza tus lineamientos de estilo para ubicar tu logotipo. Si también deseas mostrar el logotipo de Google, consulta Logotipos y marcas comerciales.

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

Cómo implementar el cambio de app en tus apps nativas

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

Para admitir el cambio de app en tu app para Android, sigue las instrucciones que se indican en la guía de implementación de Android.

Para admitir el cambio de app en tu app para iOS, sigue las instrucciones de la guía de implementación para iOS.

Cómo probar el cambio de app

Se puede simular el cambio de app con apps de muestra y de prueba antes de que estén disponibles las apps de producción verificadas y un servidor OAuth 2.0 en funcionamiento.

Durante el cambio de app, una app de Google abrirá primero tu app que luego solicita una respuesta de código de autorización de tu servidor de OAuth 2.0. En el paso final, se muestra la respuesta a la app de Google.

Requisitos previos

Para simular una app de Google y activar el intent que inicia tu app, descarga e instala la herramienta de prueba de cambio de app para Android y iOS.

Descarga e instala la muestra de cambio de app para Android y iOS para simular tu app y seleccionar un tipo de respuesta de OAuth 2.0.

Secuencia de prueba

  1. Abre la herramienta de prueba de cambio de app.
  2. Presiona Try Flip! para iniciar la app de ejemplo de App Flip.
  3. Selecciona una respuesta de los botones de selección en la app de ejemplo.
  4. Presiona Send para mostrar una respuesta simulada de OAuth 2.0 en la herramienta de prueba.
  5. Verifica los mensajes de registro de la herramienta de prueba para ver si hay un auth_code o detalles de errores.

Pruebas de producción

Se puede probar el cambio de app en producción después de completar el registro y la implementación del servidor de OAuth 2.0.

Se recomienda usar una sola Cuenta de Google y una dirección de correo electrónico específica para la tarea para las pruebas automatizadas.

El estado de vinculación de cuentas se puede ver en Cuentas vinculadas cuando accedes como titular de la Cuenta de Google. También puedes desvincular las cuentas entre pruebas repetidas desde aquí.

De manera opcional, puedes implementar RISC para desvincularlo de manera programática y notificar a Google sobre el cambio.