Demo de passkeys y probador WebAuthn

Crea una passkey real con la API WebAuthn, inspecciona la credencial decodificada e inicia sesión para ver cada paso de verificación que ejecutaría un servidor. Todo ocurre localmente en tu navegador con WebCrypto. No necesitas cuenta y nada sale de tu dispositivo.

Checking WebAuthn support…

La seguridad de tus datos es nuestra prioridad. La creación de la passkey, la inspección de la credencial y la verificación de la firma ocurren por completo en tu navegador mediante las API WebAuthn y WebCrypto. No hay backend, y esta herramienta no transmite ni almacena nada fuera de tu dispositivo. Consulta el código fuente en: https://github.com/oursky/authgear-web

Cómo funciona la demo de passkeys

Paso 1.
Elige las opciones de creación:
Selecciona el tipo de autenticador, la verificación de usuario, la clave residente, la atestación y los algoritmos. El JSON PublicKeyCredentialCreationOptions se actualiza en directo mientras los cambias.
Paso 2.
Crea una passkey:
El navegador llama a navigator.credentials.create() y tu dispositivo te pide Face ID, Touch ID, Windows Hello o una llave de seguridad.
Paso 3.
Inspecciona la credencial:
La herramienta decodifica clientDataJSON y descodifica el objeto de atestación en CBOR: flags, contador de firmas, AAGUID (el modelo de autenticador), ID de credencial y la clave pública como JWK y PEM.
Paso 4.
Inicia sesión con ella:
navigator.credentials.get() produce una aserción, ya sea desde tu lista de credenciales guardadas o mediante el flujo de credenciales descubribles con una lista de permitidos vacía.
Paso 5.
Verifica como lo haría un servidor:
Cada comprobación que ejecuta un servidor real recibe una insignia de éxito o fallo con explicación: tipo de ceremonia, challenge, origen, hash del RP ID, flags y la verificación de la firma con WebCrypto.

¿Listo para añadir passkeys a tu propia app? Lee la guía para desarrolladores sobre cómo implementar passkeys

Plataformas compatibles

Las passkeys funcionan en todas las plataformas principales y se sincronizan dentro de cada ecosistema. Esta demo funciona en cualquier navegador compatible con WebAuthn.

Apple
iOS 16+ y macOS 13+. Face ID o Touch ID, sincronizadas mediante el llavero de iCloud.
Android y Chrome
Android 9+. Huella o bloqueo de pantalla, sincronizadas mediante el Administrador de contraseñas de Google.
Windows
Windows 10 y 11. Windows Hello con rostro, huella o PIN.
Gestores de contraseñas
1Password, Bitwarden, Dashlane, Proton Pass y otros almacenan y sincronizan passkeys entre plataformas.
Llaves de seguridad
YubiKey y otras llaves físicas FIDO2 funcionan mediante el transporte multiplataforma (USB/NFC).

¿Qué es WebAuthn?

WebAuthn (Web Authentication) es la API de navegador estándar del W3C que hay detrás de las passkeys. En lugar de una contraseña compartida, tu dispositivo crea un par de claves pública/privada por sitio: la clave privada nunca sale de tu autenticador y el sitio guarda solo la clave pública. El inicio de sesión es una firma de tipo desafío-respuesta. Las passkeys resisten el phishing porque el navegador vincula cada credencial al origen exacto que la creó. Consulta nuestra guía para desarrolladores sobre cómo implementar passkeys.

¿Es seguro crear una passkey aquí?

Sí. La passkey que crea esta página es real, pero solo sirve para este sitio y no vale para nada más que esta demo. La clave privada se queda en el autenticador de tu dispositivo; la clave pública y los metadatos de la credencial se guardan únicamente en el localStorage de tu navegador. No hay servidor, así que nada se transmite a ningún sitio. Puedes borrar el registro de la demo con un clic y eliminar la passkey de tu dispositivo en cualquier momento.

¿Cómo elimino la passkey de la demo de mi dispositivo?

«Olvidar» en la herramienta solo elimina el registro de esta página. Para quitar la passkey de tu dispositivo:
iOS / macOS: Ajustes → Contraseñas (o la app Contraseñas) → busca este sitio → elimina la passkey.
Android / Chrome: Administrador de contraseñas de Google → Contraseñas → busca este sitio → eliminar.
Windows: Configuración → Cuentas → Claves de acceso → busca este sitio → quitar.
Gestores de contraseñas (1Password, Bitwarden, …): busca el elemento de este sitio y elimínalo allí.

¿Qué es un AAGUID?

El AAGUID (Authenticator Attestation Globally Unique Identifier) es un ID de 16 bytes que identifica el modelo de autenticador (por ejemplo, el Administrador de contraseñas de Google o una YubiKey 5), no tu dispositivo concreto. Esta herramienta lo resuelve contra una copia incluida de la lista passkey-authenticator-aaguids mantenida por la comunidad. Con la atestación en «none» (el valor por defecto), muchos autenticadores lo ponen a cero por privacidad.

¿Por qué el contador de firmas muestra 0?

El contador de firmas se diseñó para detectar credenciales clonadas: cada uso debería incrementarlo. Pero una passkey sincronizada vive en varios dispositivos a la vez y no puede mantener un único contador compartido, así que la mayoría de proveedores de passkeys (llavero de iCloud, Administrador de contraseñas de Google) siempre devuelven 0, que significa «contador no admitido». Las llaves de seguridad físicas normalmente sí lo incrementan.