Skip to main content

Passkey & WebAuthn Flow Debugger

Step through WebAuthn registration and authentication flows — see exactly what the browser does, what the server expects, and example JSON at each step. Build a real PublicKeyCredentialCreationOptions payload with fresh challenge, RP settings, and authenticator selection options.

✓ Registration flow (6 steps) ✓ Authentication flow (6 steps) ✓ Credential options builder ✓ Runs 100% in your browser

Frequently Asked Questions

What is the difference between passkeys and passwords?▼

Passwords are shared secrets — you create one, the server stores a hash of it, and you prove you know it on login. This means password databases are breach targets and users reuse weak passwords. Passkeys use public-key cryptography: the device generates a key pair, keeps the private key in a secure enclave (never transmitted), and registers the public key with the server. Sign-in works by the device signing a server-issued challenge — there is no secret to steal from the server, and phishing is eliminated because the credential is scoped to the exact origin (domain).

What is the difference between WebAuthn and FIDO2?▼

FIDO2 is the umbrella standard from the FIDO Alliance that defines passwordless authentication. It has two components: WebAuthn (Web Authentication) is the W3C browser API — the JavaScript navigator.credentials.create() and navigator.credentials.get() calls. CTAP (Client-to-Authenticator Protocol) is the protocol between the browser and external authenticators (USB security keys, NFC cards). When you implement WebAuthn in your web app, you are using FIDO2. The terms are often used interchangeably. Passkeys are the user-friendly brand name for synced FIDO2 credentials (backed up to iCloud Keychain, Google Password Manager, etc.).

What are resident credentials (discoverable credentials)?▼

A resident credential (also called a discoverable credential or passkey) stores the user handle on the authenticator itself — alongside the private key. This enables usernameless authentication: the user visits your login page, taps 'Sign in with Passkey', and the authenticator presents matching credentials without the user typing a username first. Non-resident credentials require the server to know which credential IDs belong to the user (via allowCredentials) before the browser can proceed. Set residentKey: 'required' in authenticatorSelection to mandate discoverable credentials.

How do passkeys work across devices (cross-device authentication)?▼

Passkeys sync across a user's devices via cloud keychain providers: Apple syncs via iCloud Keychain across iPhone, iPad, Mac, and Safari on Windows. Google syncs via Google Password Manager across Android and Chrome. The private key is stored in the platform's secure enclave and only the encrypted key material is synced — the raw private key never leaves the device. For cross-device sign-in (e.g., signing into a laptop using a phone), WebAuthn uses Bluetooth proximity via CTAP 2.2 hybrid transport: the laptop shows a QR code, the phone scans it, and authentication completes over an encrypted BLE channel. This prevents remote phishing even in cross-device flows.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →