Saltar al contenido principal

WebAuthn

Visión general

Nos complace informar a los clientes de Casdoor que ahora Casdoor admite iniciar sesión con WebAuthn. Esto significa que puedes iniciar sesión utilizando tus identificaciones biológicas como huellas dactilares o reconocimiento facial, o incluso discos U, siempre que tu dispositivo admita estos métodos de autorización y WebAuthn.

¿Qué es WebAuthn?

WebAuthn es la API de Autenticación Web, una especificación escrita por el W3C y FIDO en colaboración con Google, Mozilla, Microsoft, Yubico y otros. Esta API permite a los servidores registrar y autenticar usuarios utilizando criptografía de clave pública en lugar de una contraseña. Permite a los servidores integrarse con autenticadores fuertes incorporados en dispositivos, como Windows Hello o Touch ID de Apple.

Para decirlo simplemente, WebAuthn requiere que los usuarios generen un par de claves pública-privada y proporcionen la clave pública al sitio web. Cuando un usuario quiere iniciar sesión en un sitio web, la web genera un número aleatorio y pide al usuario que lo cifre con su clave privada y envíe el resultado de vuelta. Al recibir el resultado, el sitio web utiliza la clave pública para descifrarlo. Si el número descifrado coincide con el número aleatorio generado anteriormente, se considera al usuario como un usuario legítimo y se le concede acceso para iniciar sesión. La combinación de la clave pública e información necesaria, como el nombre de usuario o información sobre el autorizador del usuario, se llama Credencial WebAuthn, que es almacenada por el sitio web.

El par de claves pública-privada está exclusiva y únicamente asociado con tres piezas de información: el nombre de usuario del usuario, el autorizador del usuario y la URL del sitio web. Esto significa que si la combinación de (nombre de usuario del usuario, autorizador del usuario y la URL del sitio web) es la misma, el par de claves debería ser idéntico, y viceversa.

Para obtener información más detallada sobre la tecnología WebAuthn, puedes visitar https://webauthn.guide/.

¿Cómo usar WebAuthn en Casdoor?

En la página de inicio de sesión, es posible que ya hayas notado la opción de iniciar sesión usando WebAuthn. Sin embargo, si aún no tienes una credencial WebAuthn (que puede compararse con una contraseña WebAuth), este tutorial te mostrará cómo crear y gestionar una credencial y luego iniciar sesión usándola.

Paso 0: Modificar las configuraciones y habilitar la autenticación WebAuthn

En el archivo conf/app.conf, puedes encontrar la siguiente configuración:

origin = "http://localhost:8000"

Por favor, asegúrate de que esta configuración coincida exactamente con la URL de tu sitio web.

Nota: Solo se admite HTTPS para WebAuthn, a menos que estés utilizando localhost.

A continuación, inicia sesión como administrador y ve a la página de edición de tu aplicación. Activa el interruptor "Habilitar inicio de sesión WebAuthn". Por defecto, esta característica no está habilitada.

Paso 1: Ir a la página "Mi cuenta"

Navega a la página de la cuenta. En esta página, deberías ver el botón "Agregar Credencial WebAuthn" y una lista que muestra todas las credenciales WebAuthn que has registrado previamente.

WebAuthn1

Haz clic en el botón y sigue las instrucciones de tu dispositivo para registrar una nueva credencial en Casdoor. Puedes eliminar cualquier credencial usando el botón "eliminar" en la lista.

Paso 2: Iniciar sesión usando WebAuthn

Antes de comenzar este paso, asegúrate de haber cerrado sesión en Casdoor.

Ve a la página de inicio de sesión, selecciona el método de inicio de sesión WebAuthn, ingresa tu nombre de usuario y haz clic en el botón de inicio de sesión. Sigue las instrucciones de tu dispositivo.

(Por ejemplo, si estás usando huella digital y Windows Hello, deberías ver algo como esto)

WebAuthn2

Entonces habrás iniciado sesión con éxito.