La función Restablecer credenciales de Credential Manager permite que los usuarios restablezcan automáticamente sus cuentas de apps y accedan a ellas cuando abran una app por primera vez después de configurar un dispositivo nuevo. Una credencial de restablecimiento, también conocida como clave de restablecimiento, es un tipo de credencial que se puede guardar de forma local o de la que se puede crear una copia de seguridad en un proveedor de servicios en la nube y, luego, usarla para aprovisionar el acceso en el dispositivo nuevo del usuario.
En esta guía, se supone que estás familiarizado con los siguientes conceptos:
- Glossary: Credential Manager
- Llaves de acceso
Beneficios
Entre los beneficios de la función Restablecer credenciales, se incluyen los siguientes:
- Experiencia del usuario sin interrupciones: Los usuarios pueden comenzar a usar la app de inmediato en su dispositivo nuevo sin necesidad de acceder manualmente.
- Mayor retención de usuarios y menores costos de asistencia: El acceso automático durante las actualizaciones de dispositivos evita que los usuarios abandonen la app y reduce significativamente los costos de asistencia asociados con las cuentas abandonadas y los flujos de recuperación de contraseñas.
- Seguridad mejorada: El restablecimiento silencioso de credenciales elimina las pantallas de acceso adicionales y los mensajes de recuperación manual de la cuenta, lo que reduce la vulnerabilidad a los ataques de phishing y robo de credenciales.
- Participación inmediata: Puedes atraer a los usuarios con notificaciones o con otros mensajes en cuanto comiencen a usar su dispositivo nuevo.
- Compatibilidad con varios mecanismos de autenticación: Funciona con varios mecanismos de autenticación, incluidos los siguientes:
Descripción general del proceso
En las siguientes secciones, se describe el proceso que se requiere en cada dispositivo:
En el dispositivo anterior
Genera la clave de restablecimiento después de que el usuario se autentique en tu app, inmediatamente después de que acceda y durante un inicio posterior de la app si ya accedió. El servicio de copia de seguridad de Android almacena automáticamente la clave de restablecimiento generada en el dispositivo y, según la configuración de copia de seguridad del usuario, también la guarda en la nube.
Para que un usuario pueda crear una copia de seguridad en la nube, debe cumplir con los siguientes requisitos:
- Haber accedido a su Cuenta de Google
- Tener habilitada la copia de seguridad de datos de Android Para obtener más información, consulta Copia de seguridad de datos.
- Tener configurado un mecanismo de desbloqueo de pantalla, como un patrón, un PIN, una contraseña o datos biométricos
Si no se cumplen estas condiciones, se arroja una E2eeUnavailableException.
Cuando esto suceda, detecta la excepción y vuelve a llamar a createCredential() con isCloudBackupEnabled = false para que la clave de restablecimiento se siga guardando de forma local para las transferencias de dispositivo a dispositivo (D2D).
En el dispositivo nuevo
Cuando el usuario configura su dispositivo nuevo, Restore Credentials funciona de forma silenciosa en segundo plano durante el proceso de configuración del dispositivo. Los usuarios pueden elegir restablecer los datos con cualquiera de las siguientes opciones:
- Desde una copia de seguridad en la nube: Si se usa una copia de seguridad en la nube, la clave de restablecimiento se descarga con los datos de app en el dispositivo nuevo.
- Con una transferencia de un dispositivo a otro: Cuando los usuarios transfieren datos directamente entre sus dispositivos antiguos y nuevos durante la configuración, la clave de restablecimiento se mueve del dispositivo antiguo al nuevo a través de un cable USB o una transferencia inalámbrica de Wi-Fi de un dispositivo a otro (D2D).
Después de que la clave de restablecimiento esté disponible en el dispositivo nuevo, puedes usarla para que el usuario acceda.
Vincula las credenciales de restablecimiento con la copia de seguridad de los datos de la app
Además de permitir que el usuario acceda, tu app debe transferir la configuración local, los borradores sin conexión y las preferencias de tema oscuro del usuario para ofrecer una transición de dispositivo completa y sin problemas:
- Restablecer la identidad: Usa Restore Credentials para volver a autenticar el acceso a la cuenta de forma silenciosa.
- Restablece el estado y las preferencias: Configura la copia de seguridad automática (
dataExtractionRules) para conservar las preferencias del usuario, las bases de datos locales y el estado de la app en las transferencias de dispositivos por cable y en la nube. Excluye los tokens de autenticación sin procesar, el texto cifrado de Android Keystore vinculado al hardware y el marcadorhas_synced_restore_credentiallocal para que el estado de sesión inactivo no se copie en el dispositivo nuevo.
Administra varios perfiles del sistema y cuentas de apps
Cuando implementes la función de restablecimiento de credenciales, ten en cuenta las siguientes restricciones relacionadas con las apps de varias cuentas y los perfiles a nivel del sistema.
Apps con varias cuentas que accedieron
Algunas apps permiten que los usuarios cambien entre varias cuentas activas (por ejemplo, una cuenta de correo electrónico personal y una de trabajo dentro de la misma app). Las credenciales de restablecimiento solo admiten una cuenta por app. Si un usuario accedió a varias cuentas, debes seleccionar solo una para la que se creará la clave de restablecimiento. Por lo general, debe ser la cuenta principal o la que se usó más recientemente.
Dispositivos con varios perfiles del sistema
En los dispositivos configurados con perfiles del sistema independientes (como un dispositivo corporativo con un perfil de trabajo administrado y un perfil personal), la clave de restablecimiento está disponible para el perfil principal configurado durante la incorporación inicial del dispositivo. Si una política de TI empresarial inhabilita la copia de seguridad multidispositivo o la transferencia de credenciales dentro de un perfil de trabajo administrado, es posible que createCredential() o getCredential() no devuelvan ninguna credencial, y tu app debería recurrir al acceso estándar.
Limitaciones
Restore Credentials es compatible con teléfonos, tablets y dispositivos plegables con Android 9 (nivel de API 28) o versiones posteriores, y con la versión 242200000 o posterior de los Servicios de Google Play. No se admite la restauración entre categorías de dispositivos (como la restauración de un teléfono a Wear OS, Android TV, Android Auto, Android XR o ChromeOS). Consulta Cómo autenticar en diferentes factores de forma.
Próximos pasos
- Implementa Restore Credentials: Crea, recupera y borra claves de restablecimiento en tu app para Android con el Administrador de credenciales.
- Prueba las credenciales de restablecimiento: Verifica los flujos de restablecimiento en la nube y de dispositivo a dispositivo en Android Studio o con pruebas de copia de seguridad automatizadas de JUnit 5.
- Habilidad de Android para restablecer credenciales: Usa la habilidad de la CLI de Android para guiar a los agentes de programación a través de una integración de restablecimiento de credenciales de dos niveles.