Login sin contraseña en Authentik usando WebAuthn Introducción Este artículo documenta la habilitación de autenticación passwordless en Authentik mediante WebAuthn, utilizando llaves físicas (YubiKey u otras compatibles). La integración se realiza a nivel de flujos de autenticación, sin eliminar el login tradicional, sino añadiendo una vía alternativa controlada desde el flujo principal. El resultado es un inicio de sesión donde Authentik detecta que el usuario dispone de un autenticador WebAuthn y ofrece iniciar sesión sin contraseña. Requisito previo imprescindible: dispositivo WebAuthn registrado Antes de modificar cualquier flujo, el usuario debe tener registrada una llave WebAuthn. Este paso se realiza desde la interfaz de usuario, no desde el panel de administración: Acceso al perfil de usuario. Ajustes → Dispositivos de MFA. Añadir un nuevo dispositivo de tipo WebAuthn device. Registrar la llave física (YubiKey u otro autenticador compatible). Sin este requisito, el flujo passwordless no tendrá ningún dispositivo que validar y el login no funcionará. Enfoque general El esquema que se construye es el siguiente: El flujo de autenticación por defecto identifica al usuario. Si el usuario dispone de dispositivos WebAuthn registrados: Se ofrece un flujo alternativo passwordless. Dicho flujo valida el autenticador WebAuthn. Tras la validación, se continúa con el login estándar de Authentik. No se sustituye el login clásico: se complementa. En usuarios con WebAuthn configurado, el proceso de autenticación se resuelve únicamente mediante la llave, sin interacción adicional ni validación de contraseña. Desarrollo Creación del flujo passwordless En la interfaz de administración: Flows & Stages → Flows → Create Nombre: Authentik Passwordless Flow Title: el mismo nombre (o uno descriptivo equivalente) Designation: Authentication Este flujo se utilizará exclusivamente para la autenticación sin contraseña. Validación de dispositivos WebAuthn Dentro del flujo recién creado: Pestaña Stage Bindings Create & bind Stage Tipo de etapa: Authenticator Validation Stage Configuración relevante: Name: Authentik Passwordless WebAuthn Allowed devices: WebAuthn Authenticators Configuration Stages: Seleccionar el flujo de configuración de WebAuthn Por defecto: default-authenticator-webauthn-setup Order: 0 (primer paso del flujo) Esta etapa es la encargada de validar los dispositivos WebAuthn ya configurados por el usuario. Continuación con el login estándar Dentro del mismo flujo: Stage Bindings → Bind existing stage Stage: default-authentication-login Order: un valor superior al anterior (por ejemplo 10) De este modo: Primero se valida la llave WebAuthn. A continuación, Authentik ejecuta su lógica estándar de inicio de sesión (gestión de sesión, cookies, etc.). Enlace del flujo passwordless al flujo principal Para que Authentik ofrezca este método de autenticación: Flows & Stages → Flows Abrir el flujo default-authentication-flow Ir a la pestaña Stage Bindings Editar la etapa default-authentication-identification En Flow settings: Campo Passwordless Flow Seleccionar: Authentik Passwordless Flow Guardar los cambios con Update. Este paso vincula el flujo passwordless con el proceso de autenticación principal. Validación Cerrar sesión o abrir una ventana en modo incógnito. Acceder de nuevo a Authentik. Tras introducir el usuario, debe aparecer la opción de iniciar sesión con una llave de seguridad. Si el usuario tiene WebAuthn configurado correctamente, el login se realizará sin contraseña. Decisiones importantes y consideraciones WebAuthn requiere HTTPS válido (certificados reales y funcionales). El navegador debe soportar WebAuthn (la mayoría de navegadores modernos lo hacen). Si el usuario no tiene un dispositivo WebAuthn registrado, Authentik recurrirá al login tradicional. No se recomienda eliminar el uso de contraseñas sin validar previamente este flujo. Resumen breve Registro previo de una llave WebAuthn por usuario. Creación de un flujo de autenticación passwordless. Validación de WebAuthn antes del login estándar. Integración del flujo en el proceso de autenticación principal. Referencias Guía en vídeo (créditos al autor)