Las llaves de acceso están diseñadas para revolucionar la experiencia de acceso y ofrecer una alternativa más simple, rápida y segura que las contraseñas. Esta lista de tareas te guiará por los aspectos clave de la implementación de llaves de acceso para lograr resultados óptimos de experiencia del usuario (UX).
Cómo usar esta lista de tareas
Esta lista de tareas está destinada a desarrolladores y equipos de productos que implementan llaves de acceso en sus flujos de autenticación. Puedes usarlo para lo siguiente:
- Valida que tu implementación siga las prácticas recomendadas de UX de llaves de acceso modernas que se describen en los siguientes artículos.
- Identifica los elementos obligatorios y opcionales que mejoran la usabilidad, la seguridad y la compatibilidad.
- Verifica tu implementación durante el desarrollo y antes de la implementación.
- Alinear con las prácticas recomendadas que admiten la adopción de usuarios y la interoperabilidad del sistema
Estos te ayudan a proporcionar una experiencia fluida y segura para los usuarios finales.
Registro de llaves de acceso
Para realizar una transición fluida de las contraseñas a las llaves de acceso en tu sitio web, lo más importante es tener una función de registro de llaves de acceso sofisticada. Sigue las instrucciones que se describen en Crea una llave de acceso para accesos sin contraseña para compilar una función de registro de llaves de acceso en tu sitio web. A continuación, se indican los aspectos que debes verificar, además de las funciones básicas de registro de llaves de acceso:
✅ Especifica "platform"
como el valor del archivo adjunto del autenticador que se pasará a navigator.credentials.create()
para crear una llave de acceso promocionada.
- Proporciona un flujo de creación de llaves de acceso optimizado y sin inconvenientes para quienes las crean de forma reactiva.
✅ Verifica al usuario con el método de autenticación más seguro disponible que pueda usar antes de permitirle crear una llave de acceso.
- Esto es importante para evitar que un atacante cree una llave de acceso en una cuenta usurpada.
✅ Evita la creación de llaves de acceso duplicadas para el mismo proveedor de llaves de acceso con excludeCredentials
.
- Muchos proveedores de llaves de acceso admiten solo una llave de acceso por cuenta y un ID de RP. Evita crear duplicados.
✅ Usa el AAGUID para identificar el proveedor de llaves de acceso y asignar un nombre a la credencial del usuario.
- Asociar una llave de acceso con su proveedor es una forma intuitiva de presentar una credencial cuando es posible.
✅ Indica si un intento de registrar una llave de acceso falla con PublicKeyCredential.signalUnknownCredential()
.
- Las llaves de acceso perdidas pueden causar confusión. Informa al proveedor de llaves de acceso si el servidor no pudo registrar una llave de acceso.
✅ Envía una notificación al usuario después de crear y registrar una llave de acceso para su cuenta.
- Asegúrate de que el usuario sepa que se está creando una llave de acceso, en especial cuando la crea otra persona.
Autenticación de llaves de acceso
Acomodar a los usuarios de contraseñas y a los de llaves de acceso sin inconvenientes puede ser un desafío. Sigue las instrucciones que se describen en Accede con una llave de acceso mediante el autocompletado de formularios para compilar una función de autocompletado de formularios de llaves de acceso en tu sitio web. A continuación, se indican los aspectos que debes verificar, además de las funciones básicas de autenticación con llave de acceso:
✅ Permite que los usuarios accedan con una llave de acceso a través del autocompletado de formularios.
- Si tu sitio web está realizando la transición de contraseñas a llaves de acceso, el mejor enfoque para adaptarse a ambos usuarios es usar la función de autocompletado de formularios del navegador.
✅ Indica cuando no se encuentra la credencial coincidente de una llave de acceso en el backend con PublicKeyCredential.signalUnknownCredential()
.
- Las llaves de acceso perdidas pueden causar confusión. Infórmale al proveedor de llaves de acceso cuál no se puede usar para que pueda borrarla.
✅ Solicita a los usuarios que creen una llave de acceso de forma manual si no lo hicieron después de acceder.
- Si el usuario aún no creó una llave de acceso, pídele que lo haga.
✅ Crea automáticamente una llave de acceso (creación condicional) después de que el usuario accede con una contraseña (y un segundo factor).
- Agiliza la adopción de llaves de acceso de los usuarios.
✅ Solicita la creación de una llave de acceso local si el usuario accedió con una llave de acceso multidispositivo.
- Crear una llave de acceso local ayuda al usuario a acceder sin escanear un código QR la próxima vez.
✅ Indica la lista de llaves de acceso disponibles y los detalles del usuario actualizados (nombre de usuario, nombre visible) al proveedor después de acceder.
- Mantener la lista de llaves de acceso y los detalles del usuario sincronizados entre el servidor y el proveedor de llaves de acceso mejora la experiencia del usuario.
Administración de llaves de acceso
Si les brindas a los usuarios una buena comprensión de las llaves de acceso, les ayudarás a comprender mejor el panorama y a controlar las llaves de acceso. Sigue las instrucciones que se describen en Ayuda a los usuarios a administrar llaves de acceso de manera eficaz para compilar una función de administración de llaves de acceso en tu sitio web. Esto es lo que debes verificar:
✅ Permite que los usuarios administren las llaves de acceso en una página de administración de llaves de acceso.
- Crea un lugar central en el que los usuarios puedan administrar sus llaves de acceso.
✅ Admite el registro de varias llaves de acceso.
- La capacidad de registrar varias llaves de acceso ayuda a los usuarios a evitar el bloqueo sin recurrir a un método de autenticación más débil.
✅ Permite que los usuarios agreguen tipos nuevos y flexibles de llaves de acceso en la página de administración.
✅ Se muestra el nombre de la llave de acceso.
- Asigna nombres a las llaves de acceso según el AAGUID y proporciona una imagen tangible de las llaves de acceso del usuario.
✅ Indica si una llave de acceso es sincronizable o no.
- Informa al usuario cuando no se sincroniza una llave de acceso.
✅ Permite que los usuarios quiten una clave pública del servidor.
✅ Señala la lista de llaves de acceso cuando se quita una clave pública asociada del servidor.
- Mantener la lista de llaves de acceso sincronizada entre el servidor y el proveedor de llaves de acceso mejora la experiencia del usuario.

Consideraciones adicionales
✅ Indica los detalles del usuario actualizados (nombre de usuario, nombre visible) cuando el usuario los actualice.
✅ Crea una llave de acceso en lugar de una contraseña nueva cuando un usuario “olvide su contraseña”.