Últimamente está en boca de todos el uso de WebAuthn como segundo factor (o único incluso) de autenticación en aplicaciones web y móviles. Google y Apple están promoviendo el uso de las passkeys para autenticarse en sitios web. Ahora bien, la implementación de este estándar con contraseñas aún está un poco "en pañales", y tampoco me parece tan intuitivo como lo podría ser, a nivel usuario.
Como usuario
No quiero tener que tener el móvil al lado cada vez que quiero iniciar sesión en un sitio web y escanear un QR. Para entrar en cuentas "importantes" como pueden ser Google, Microsoft o GitHub, usar sus autenticadores por número (que te dan un número y tienes que seleccionarlo en el móvil) está bien, porque te llega la notificación y ya está. Pero tener que abrir la cámara, escanear el QR y luego desbloquear la clave con biometría ya son más pasos de los necesarios.
Lo que sí que me parece cómodo es usar Windows Hello. Tengo el PIN del sistema, y cuando quiero entrar a algún sitio lo introduzco y fuera. Igual que cuando uso el certificado digital de la FNMT lo selecciono y listo. Lo de escanear QR me parece un rollazo, sobre todo si tienes el móvil conectado por cable (cargando por ejemplo), tener que apuntar a la pantalla y que lo lea bien.
Como desarrollador
Aún no he conseguido implementar WebAuthn. Son tantas cosas a tener en cuenta y no hay "bibliotecas integrales" con componente de servidor y de cliente que se integren bien por sí solos. Para empezar, no hay documentación "amigable", o al menos no la he encontrado. Esto es muy distinto de las habituales contraseñas (hay millones de tutoriales de como generar los hash, guardarlos y después comprobarlos) y algunos de TOTP también (y bibliotecas que te lo ponen fácil).
Luego, cada sistema y navegador se comportan distinto, con lo que lo que funciona perfectamente en Edge/Windows probablemente no funcione en Chrome/Linux, o en Firefox/macOS porque patata.
Conclusión
Hasta que esto no sea infinitamente más sencillo no lo va a usar nadie más que las grandes empresas con cientos de ingenieros de software que pueden implementar estándares tan complejos; o hasta que salga alguna biblioteca que lo simplifique infinitamente.