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 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 de usuario específicos de cada dispositivo.

En esta guía, se proporciona una descripción general para 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 base para que te adaptes a otros. Los flujos de autenticación deben adaptarse al factor de forma y usar todas las capacidades del espacio de 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 superior
    • Incluye compatibilidad con contraseñas, llaves de acceso y Acceder con Google.
  • Versión de 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
Opciones de llaves de acceso, contraseñas y Acceder con Google disponibles para un usuario en Wear OS.
Figura 1b: Llaves de acceso, contraseñas y Acceder con Google

Para obtener instrucciones de implementación detalladas 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 las de otros factores de forma, ya que se basa en entradas naturales, como gestos con las manos.

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

Un desafío de diseño fundamental es crear una experiencia de autenticación intuitiva y segura en 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 superior
  • Versión de 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 de Google Play XR Intel x86_64 Atom, revisión 7
    • Versiones del emulador superiores a la 35.6.11 estable

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

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

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 XR, consulta Android XR.

Android TV

Los dispositivos Android TV suelen ser comunitarios, se ven desde la distancia 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. Debido a que, a menudo, existen varios perfiles de Google en una TV compartida, Credential Manager se adapta a esta configuración comunitaria recuperando y mostrando todas las credenciales disponibles en el dispositivo, en lugar de restringir las opciones solo a la cuenta activa en ese momento.

Mensaje 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 Acceder con Google, contraseñas guardadas y opciones de llaves de acceso

Esta naturaleza comunitaria también determina cómo se manejan las llaves de acceso. Debido a que las televisiones no tienen un factor de conocimiento de la pantalla de bloqueo (LSKF) personal, las llaves de acceso no se almacenan ni se crean directamente en la TV. En cambio, la autenticación con llave de acceso aprovecha un flujo híbrido multidispositivo en el que se presenta un código QR en la TV y el usuario lo escanea con su dispositivo móvil para completar la autenticación biométrica.

Es posible un flujo sin clics en Google TV si configuras isAutoSelectAllowed = true, pero solo si hay exactamente una credencial coincidente disponible. Aun así, aparecerá la hoja inferior nativa de la TV, que mostrará la confirmación de la cuenta del usuario. Si el usuario no cancela, la credencial se muestra automáticamente sin necesidad de hacer clic en el control remoto. Si hay varias credenciales coincidentes, no se seleccionará automáticamente y, en su lugar, se le pedirá al usuario que elija.

Si tus apps para dispositivos móviles y TV comparten exactamente el mismo nombre de paquete de Android y la misma clave de firma, el Administrador de contraseñas de Google las reconoce como la misma identidad de app. Por este motivo, se puede ofrecer directamente en la TV una contraseña guardada en un dispositivo móvil sin necesidad de configurar Vínculos de recursos digitales (asset_statements). Los Vínculos de recursos digitales solo son necesarios cuando se comparten credenciales entre límites, como entre una app y un sitio web, o entre apps con nombres de paquete diferentes.

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 versiones posteriores
  • Hardware para llaves de acceso: Se requiere un dispositivo móvil secundario con una cámara y Bluetooth para escanear el código QR y completar el flujo híbrido de FIDO.

Limitaciones

Debido a 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 permite la creación ni el almacenamiento de llaves de acceso locales: Las llaves de acceso no se pueden crear ni almacenar directamente en la TV. Debido a que no se admiten las credenciales locales, no configures preferImmediatelyAvailableCredentials como true en tus solicitudes. Si lo haces, se filtrarán las llaves de acceso multidispositivo y no se mostrarán las credenciales.
  • No hay proveedores de credenciales externos: Android TV no admite la función de autocompletar, 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.
  • No se permite Restablecer credenciales: No se admite el acceso automático a dispositivos nuevos con Acerca de Restablecer credenciales en Android TV.

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

SO Android Automotive

Los dispositivos con el SO Android Automotive (AAOS) son sistemas comunitarios integrados en vehículos. Para adaptar Credential Manager para AAOS, se requiere admitir la autenticación segura (por lo general, mientras el vehículo está estacionado) y admitir varios perfiles de usuario en un dispositivo compartido.

Si llevas una app optimizada para tablets o pantallas grandes a los automóviles, y tu app ya admite Credential Manager y llaves de acceso en dispositivos móviles o tablets, funcionará en el SO Android Automotive sin necesidad de realizar cambios en tus flujos de autenticación.

La autenticación en el SO Android Automotive admite los siguientes métodos:

  • Llaves de acceso (flujo híbrido multidispositivo): Los usuarios pueden autenticarse con llaves de acceso existentes a través de un flujo multidispositivo. El sistema muestra un código QR en la pantalla del automóvil que el usuario escanea con su dispositivo móvil. Debido a que la verificación biométrica y de bloqueo de pantalla se realiza en el teléfono del usuario, no es necesario que los usuarios configuren un bloqueo de pantalla en la pantalla del automóvil.
  • Acceder con Google: Muestra la pantalla nativa de Acceder con Google directamente en la pantalla del automóvil.
  • Contraseñas guardadas: Los usuarios pueden recuperar contraseñas guardadas del Administrador de contraseñas de Google para acceder sin ingresar credenciales de forma manual en la pantalla del vehículo.
Mensaje de llave de acceso del Administrador de credenciales que se muestra en una pantalla integrada en el vehículo en el SO Android Automotive.
Figura 5. Indicación de llave de acceso de Credential Manager en el SO Android Automotive

El SO Android Automotive administra las sesiones y las credenciales por perfil, y aísla los datos de sesión específicos del usuario entre perfiles (por ejemplo, el perfil A, el perfil B o un perfil de invitado).

El uso de Credential Manager para el SO Android Automotive tiene los siguientes requisitos:

  • Nivel de API mínimo: Android 9 (nivel de API 28, minSdkVersion 28) o versiones posteriores (la recuperación de llaves de acceso multidispositivo requiere Android 14 [nivel de API 34] o versiones posteriores).
  • Versión de GMS: La misma que se requiere para las apps para dispositivos móviles

Limitaciones de las pruebas

Para probar las llaves de acceso, se requiere un dispositivo físico que ejecute una compilación del SO Android Automotive como la superficie principal. Para obtener instrucciones de configuración, consulta Cómo realizar pruebas con el SO Android Automotive en la Pixel Tablet. Los emuladores no se pueden usar para probar llaves de acceso porque no admiten Bluetooth de bajo consumo (BLE), que es necesario para el flujo híbrido de FIDO.

Limitaciones y flujos no compatibles

El uso de Credential Manager en el SO Android Automotive tiene las siguientes limitaciones:

  • No se permite el almacenamiento ni la recuperación de llaves de acceso locales: No se admite la recuperación directa de llaves de acceso locales porque los vehículos son dispositivos comunitarios. Sincronizar llaves de acceso directamente con el vehículo representa un riesgo de seguridad, por lo que las llaves de acceso deben usarse a través del flujo híbrido multidispositivo.
  • No se admiten las credenciales disponibles de inmediato: Si tu app solicita una llave de acceso y configura preferImmediatelyAvailableCredentials como true, la IU automotriz finaliza de inmediato y arroja una NoCredentialException. Proporciona una UX de resguardo adecuada para esta situación.
  • No hay proveedores de credenciales externos: Los administradores de contraseñas externos no son compatibles con el SO Android Automotive. Los usuarios deben usar el Administrador de contraseñas de Google o flujos híbridos multidispositivo para autenticarse.
  • No se permite la creación de contraseñas almacenadas: La API no admite la creación ni el guardado de una contraseña almacenada nueva directamente desde la interfaz del automóvil. La creación de credenciales se limita a las llaves de acceso nuevas que usan el flujo híbrido de FIDO.

Para obtener más información sobre el desarrollo para Android Automotive OS, consulta Descripción general del SO Android Automotive.

Recursos adicionales