Llaves de acceso seguras y sin problemas: Una lista de tareas de implementación

Fecha de publicación: 5 de junio de 2025

Las llaves de acceso están diseñadas para revolucionar la experiencia de acceso, ya que ofrecen una alternativa más sencilla, 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 en la experiencia del usuario (UX).

Cómo usar esta lista de tareas

Esta lista de tareas está destinada a los desarrolladores y los equipos de productos que implementan llaves de acceso en sus flujos de autenticación. Estos son algunos de sus usos:

  • Valida que tu implementación siga las prácticas recomendadas modernas de UX de llaves de acceso 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.
  • Alinea con las prácticas recomendadas que admiten la adopción por parte de los usuarios y la interoperabilidad del sistema.

Esto te ayuda a brindar una experiencia fluida y segura para los usuarios finales.

Registro de llaves de acceso

Para hacer una transición fluida de contraseñas a llaves de acceso en tu sitio web, es fundamental tener una capacidad de registro de llaves de acceso sofisticada. Sigue las instrucciones que se describen en Crea una llave de acceso para los accesos sin contraseña para compilar una función de registro de llaves de acceso en tu sitio web. Además de las funciones básicas de registro de llaves de acceso, debes verificar lo siguiente:

✅ Especifica "platform" como el valor de adjunto del autenticador para pasar a navigator.credentials.create() para la creación de una llave de acceso promocionada.

  • Proporciona un flujo de creación de llaves de acceso optimizado y sin fricciones para quienes crean una llave de acceso de forma reactiva.

✅ Verifica al usuario con el método de autenticación más sólido disponible para que pueda usarlo antes de permitirle crear una llave de acceso.

  • Esto es importante para evitar que un atacante cree una llave de acceso en una cuenta secuestrada.

✅ Evita crear llaves de acceso duplicadas para el mismo proveedor de llaves de acceso con excludeCredentials.

  • Muchos proveedores de llaves de acceso solo admiten una llave de acceso por cuenta y un ID de RP. Evita crear duplicados.

Usa el AAGUID para identificar al proveedor de llaves de acceso y nombrar la credencial para el usuario.

  • Asociar una llave de acceso con su proveedor de llaves de acceso es una forma intuitiva de presentar una credencial cuando es posible.

✅ Indica si falla un intento de registrar una llave de acceso 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 esté al tanto de la creación de una llave de acceso, en especial cuando la realiza otra persona.

Autenticación de llaves de acceso

Acomodar a los usuarios de contraseñas y a los usuarios de llaves de acceso sin una fricción mínima puede ser un desafío. Sigue las instrucciones que se describen en Accede con una llave de acceso mediante el autocompletado del formulario para compilar una función de autocompletado de formularios de llaves de acceso en tu sitio web. Además de las funciones básicas de autenticación de llaves de acceso, debes verificar lo siguiente:

✅ Permite que los usuarios accedan con una llave de acceso mediante el autocompletado del formulario.

  • Si tu sitio web está haciendo la transición de contraseñas a llaves de acceso, el mejor enfoque para acomodar a ambos usuarios es usar la función de autocompletado de formularios del navegador.

✅ Indica cuándo 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. Informa al proveedor de llaves de acceso qué llave de acceso no se puede usar para que el proveedor 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, anímalo a que lo haga.

Crea automáticamente una llave de acceso (creación condicional crear) después de que el usuario acceda con una contraseña (y un segundo factor).

  • Acelera la adopción de llaves de acceso por parte de los usuarios.

✅ Solicita la creación de llaves de acceso locales si el usuario accedió con una llave de acceso entre dispositivos.

  • 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 actualizados del usuario (nombre de usuario, nombre comercial) al proveedor después del acceso.

  • Mantener sincronizada la lista de llaves de acceso y los detalles del usuario entre el servidor y el proveedor de llaves de acceso mejora la experiencia del usuario.

Administración de llaves de acceso

Darles a los usuarios una buena comprensión de las llaves de acceso los ayuda a entender mejor el panorama y el control sobre las llaves de acceso. Sigue las instrucciones que se describen en Ayuda a los usuarios a administrar las llaves de acceso de manera eficaz para compilar una función de administración de llaves de acceso en tu sitio web. Debes verificar lo siguiente:

✅ Permite que los usuarios administren las llaves de acceso en una página de administración de llaves de acceso.

  • Crea un lugar central donde 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 un bloqueo sin recurrir a un método de autenticación más débil.

✅ Permite que los usuarios agreguen tipos de llaves de acceso nuevos y flexibles passkeys en la página de administración.

✅ Muestra el nombre de la llave de acceso.

  • Nombra las llaves de acceso según el AAGUID y proporciona una imagen visual tangible de las llaves de acceso del usuario.

✅ Indica si una llave de acceso se puede sincronizar o no.

  • Informa al usuario cuando no se sincroniza una llave de acceso.

✅ Permite que los usuarios quiten una clave pública del servidor.

✅ Indica la lista de llaves de acceso cuando se quita una clave pública asociada del servidor.

  • Mantener sincronizada la lista de llaves de acceso entre el servidor y el proveedor de llaves de acceso mejora la experiencia del usuario.
Ejemplo de una página de administración de llaves de acceso que muestra prácticas recomendadas.
Ejemplo de una página de administración de llaves de acceso que muestra prácticas recomendadas.

Consideraciones adicionales

Indica los detalles actualizados del usuario (nombre de usuario, nombre comercial) cuando el usuario los actualiza.

Crea una llave de acceso en lugar de una contraseña nueva cuando un usuario hace clic en "Olvidé mi contraseña".

Recursos