Autenticación en varios factores de forma

Credential Manager simplifica la autenticación en todo el ecosistema de Android. Proporciona una experiencia coherente para los usuarios y una superficie de API unificada para que los desarrolladores usen llaves de acceso, contraseñas y mecanismos de acceso federado, como Acceder con Google. Si bien la interfaz de programación principal sigue siendo coherente en todos los factores de forma, cada uno de ellos tiene consideraciones únicas de IU y UX. Para que la implementación sea exitosa, debes adaptar los flujos de autenticación de tu app a los métodos de entrada, los tamaños de pantalla y los contextos del usuario específicos de cada dispositivo.

En esta guía, se proporciona una descripción general de cómo implementar Credential Manager en diferentes factores de forma de Android, se destacan las consideraciones clave y se vincula a documentación más detallada.

Dispositivos móviles

Los dispositivos móviles, incluidos los teléfonos, las tablets y los dispositivos plegables, representan el objetivo más común para el desarrollo de Android. La implementación estándar de Credential Manager es adecuada para estos dispositivos, que suelen tener pantallas táctiles y teclados integrados en el dispositivo. La experiencia del usuario en este factor de forma sirve como referencia para adaptarla a otros. Los flujos de autenticación deben adaptarse al factor de forma y usar todas las capacidades de la pantalla y los métodos de entrada del dispositivo.

Wear OS

Los dispositivos Wear OS se caracterizan por sus pantallas pequeñas y la entrada limitada en el dispositivo. La implementación de llaves de acceso de Credential Manager proporciona un entorno seguro para que los usuarios accedan a las apps, sin necesidad de un teléfono vinculado conectado y sin tener que recordar una contraseña.

La API de Wear OS es idéntica a la de dispositivos móviles, por lo que puedes reutilizar una integración existente para dispositivos móviles. Además de las llaves de acceso, Acceder con Google y las contraseñas con Credential Manager, puedes usar otros métodos de autenticación, como intercambio de tokens de la capa de datos, OAuth o tus soluciones existentes. Se pueden usar como respaldo mientras migras a tus usuarios a Credential Manager o, en el caso del intercambio de tokens de la capa de datos, como una solución a largo plazo.

El uso de Credential Manager para Wear OS tiene los siguientes requisitos:

  • Nivel de API mínimo: minSdkVersion 33 o posterior
    • Incluye compatibilidad con contraseñas, llaves de acceso y Acceder con Google
  • Versión de los GMS: La misma que se requiere para las apps para dispositivos móviles

La interfaz de usuario en dispositivos Wear OS es la siguiente:

Pantalla de acceso con llave de acceso que se muestra como el método de autenticación preferido en Wear OS.
Figura 1a. Llaves de acceso.
Llaves de acceso, contraseñas y opciones de Acceder con Google disponibles para un usuario en Wear OS.
Figura 1b. Llaves de acceso, contraseñas y Acceder con Google.

Para obtener orientación detallada sobre la implementación y muestras de código, consulta los siguientes recursos:

Limitaciones

El uso de Credential Manager en Wear OS tiene las siguientes limitaciones:

Android XR

Con Android XR, que incluye realidad virtual y aumentada, las apps se renderizan en un espacio 3D. La entrada del usuario es fundamentalmente diferente de la de otros factores de forma, ya que se basa en entradas naturales, como los gestos con las manos.

Adaptar Credential Manager para la RE implica repensar la IU de autenticación (ya sea con llaves de acceso, contraseñas o métodos de acceso federados) para un espacio 3D. Por ejemplo, las indicaciones de autenticación aparecen en paneles flotantes y los usuarios realizan selecciones con gestos de la mano. También debes tener en cuenta los requisitos previos específicos de hardware o software para tus dispositivos XR de destino.

Un desafío de diseño fundamental es crear una experiencia de autenticación intuitiva y segura dentro de un entorno de RV o RA. También debes considerar cómo administrar la identidad en situaciones de XR multiusuario, en las que diferentes personas pueden usar el mismo dispositivo.

El uso de Credential Manager para Android XR tiene los siguientes requisitos:

  • Nivel de API mínimo: minSdkVersion 34 o posterior
  • Versión de los GMS: La misma que se requiere para las apps para dispositivos móviles
  • Emulador:
    • Imagen del sistema del emulador mínima:
      • macOS: Imagen del sistema de Google Play XR ARM 64 v8a, revisión 7
      • Windows: Imagen del sistema Google Play XR Intel x86_64 Atom, revisión 7
    • Versiones del emulador superiores a la versión estable 35.6.11

Una experiencia de acceso en XR podría verse de la siguiente manera:

Mensaje de acceso del Administrador de credenciales que se muestra en un panel flotante en 3D en Android XR.
Figura 2: IU de Credential Manager en RE.

Flujos no compatibles con XR

Credential Manager en Android XR no admite flujos de autenticación que requieren que otro dispositivo escanee un código QR. Esto se puede observar durante los procesos de acceso en los visores de RE y cuando se realizan pruebas con el emulador.

Para obtener más información sobre la RE, consulta Android XR.

Android TV

Por lo general, los dispositivos Android TV son de uso compartido, se ven desde lejos y se navegan con controles remotos con pad direccional. Ingresar nombres de usuario y contraseñas en este entorno puede ser difícil para los usuarios. Credential Manager simplifica la autenticación en Android TV, ya que admite Acceder con Google, contraseñas guardadas y llaves de acceso multidispositivo.

Indicación de acceso de Credential Manager en Android TV que muestra las cuentas guardadas para Acceder con Google y las contraseñas, junto con una opción para usar una llave de acceso.
Figura 3: IU de Credential Manager en Android TV que muestra las opciones de Acceder con Google, contraseñas guardadas y llaves de acceso.

Debido a que las TVs son dispositivos comunitarios y no tienen un factor de conocimiento de pantalla de bloqueo (LSKF), las llaves de acceso no se crean ni se almacenan directamente en la TV. En cambio, la autenticación con llave de acceso usa un flujo híbrido multidispositivo: la TV muestra un código QR que el usuario escanea con su dispositivo móvil para completar la autenticación biométrica.

El uso de Credential Manager para Android TV tiene los siguientes requisitos:

  • Nivel de API mínimo: Android 14 (nivel de API 34, minSdkVersion 34) o versiones posteriores
  • Versión de GMS: 2026W30 o posterior
  • Hardware para llaves de acceso: Se requiere un dispositivo móvil secundario con cámara y Bluetooth para escanear el código QR y completar el flujo híbrido de FIDO.

Limitaciones

Dado que Android TV es un dispositivo comunitario, el uso de Credential Manager en esta plataforma tiene las siguientes limitaciones intencionales para proteger la privacidad y la seguridad del usuario:

  • No se pueden crear ni almacenar llaves de acceso locales: Las llaves de acceso no se pueden crear ni almacenar directamente en la TV. Como no se admiten las credenciales locales, no establezcas preferImmediatelyAvailableCredentials en true en tus solicitudes, ya que esto filtrará las llaves de acceso multidispositivo y no devolverá credenciales.
  • Sin proveedores de credenciales externos: Android TV no admite el autocompletado, por lo que los administradores de contraseñas externos no están disponibles en la plataforma. Los usuarios deben usar el Administrador de contraseñas de Google.
  • Sin restablecer credenciales: El acceso automático a dispositivos nuevos con Acerca de Restablecer credenciales no es compatible con Android TV.

Para obtener más información sobre el desarrollo para TVs, consulta la descripción general de Android TV.

Recursos adicionales