Administra llaves de acceso

Para proporcionar una experiencia sólida con llaves de acceso, te recomendamos que tu app implemente lo siguiente:

  • Administración de llaves de acceso del usuario: Incluye una sección dedicada a la administración de llaves de acceso en la configuración de tu app para permitir que los usuarios administren sus llaves de acceso.
  • Integración del proveedor de credenciales: Para comunicarse con los proveedores de credenciales, el servidor de la app puede implementar los extremos de la llave de acceso para el registro, la autenticación y el borrado.

Administración de llaves de acceso del usuario

Para permitir que los usuarios administren sus llaves de acceso, incluye una sección dedicada a la administración de llaves de acceso en tu app para que los usuarios puedan crear, ver, cambiar el nombre y borrar sus llaves de acceso.

Mostrar las llaves de acceso disponibles

En la configuración de llaves de acceso de tu app, proporciona a los usuarios información que incluya el proveedor de credenciales que se usó para crear la credencial, la fecha de creación y la fecha del último uso.

Para obtener la información del proveedor de credenciales, usa el identificador único global (AAGUID) de la certificación del autenticador asociado a la llave de acceso correspondiente. El AAGUID forma parte del objeto PublicKeyCredential que se devuelve cuando crea la llave de acceso. El AAGUID te permite identificar al proveedor de credenciales que creó la llave de acceso. Para obtener más información, consulta Cómo determinar el proveedor de llaves de acceso con el AAGUID.

Tu app puede mostrar los siguientes detalles sobre una llave de acceso:

  • Nombre de la llave de acceso: Se muestra el nombre que se le asignó cuando se registró. El nombre ideal se basa en el proveedor de credenciales (con el AAGUID). Si no se puede identificar al proveedor, usa la información del modelo del dispositivo de android.os.Build.
  • Logotipo del proveedor: Muestra el logotipo del proveedor de credenciales. Esta señal visual ayuda a los usuarios a identificar rápidamente la llave de acceso correcta que desean administrar.
  • Marcas de tiempo: Proporciona la marca de tiempo de creación y la marca de tiempo del último uso. Esta información ayuda a los usuarios a administrar sus credenciales y a identificar las llaves de acceso antiguas o que no se usan.
  • Indicador de estado de sincronización: De forma predeterminada, las llaves de acceso se sincronizan con los proveedores de credenciales, pero las capacidades de sincronización pueden variar. Para evitar confusiones, indica claramente si una llave de acceso no admite la sincronización.
  • Detalles del último acceso (opcional): Proporciona detalles como el navegador, el SO, la dirección IP o la ubicación del último acceso. Esta es una función opcional valiosa para que los usuarios identifiquen posibles actividades sospechosas.

Además de estos detalles, la pantalla debe tener botones que permitan a los usuarios administrar (borrar o cambiar el nombre de) cada llave de acceso.

En la página de configuración de la app, se muestran todas las llaves de acceso guardadas para la app, con el proveedor de credenciales y la fecha de creación.
Figura 1: La página de configuración de la app muestra todas las llaves de acceso guardadas para la app, con el proveedor de credenciales y la fecha de creación.

Crea varias llaves de acceso

Si bien debes brindarles a los usuarios oportunidades para crear llaves de acceso durante todo su recorrido, como justo después de acceder, la sección de configuración de llaves de acceso de tu app debe permitir que los usuarios creen llaves de acceso desde el proveedor de credenciales que elijan.

Para reducir el riesgo de bloqueo de cuentas, permite que los usuarios registren varias llaves de acceso con diferentes proveedores de credenciales. Si un proveedor de credenciales deja de estar disponible (por ejemplo, si la plataforma interrumpe la compatibilidad o el usuario pierde el acceso), puede usar otra llave de acceso para acceder. Asegúrate de que tu base de datos admita el almacenamiento de estas múltiples credenciales por usuario. Sin embargo, puedes impedir que los usuarios creen una llave de acceso para la misma cuenta con el mismo proveedor de credenciales.

Borrar llaves de acceso

La sección de configuración de llaves de acceso de tu app debe permitir que los usuarios borren llaves de acceso.

Integración del proveedor de credenciales

Para mantener la coherencia entre las llaves de acceso del servidor de la app y el proveedor de credenciales, habilita la administración de llaves de acceso desde la ruta predefinida /.well-known/passkey-endpoints en el servidor de la app. Esto permite que los proveedores de credenciales usen directamente estos endpoints para la administración de llaves de acceso. Para obtener más información, consulta Agrega extremos de llave de acceso.

Recursos adicionales