{"repo":"microsoft/webauthntest","free":true,"listed":false,"github":"https://github.com/microsoft/webauthntest","clone":"git clone https://github.com/microsoft/webauthntest.git","description":"WebAuthn API Testing Website.","language":"JavaScript","stars":34,"topics":["fido2","passkey","passkeys","webauthn"],"license":null,"category":"auth-billing-email","readme_excerpt":"Live instance A live instance of this code is available at passkey.ctap.dev. This instance is for testing the WebAuthn API only. Do not submit personal data. This project is a client-only WebAuthn playground. Cloudflare Workers Static Assets serves the files in public/ , while challenges, credential parsing, assertion verification, and credential storage all run in the browser. Credential details are stored in IndexedDB for the current browser profile and origin. The selected username is stored in localStorage, and pending one-time challenges are kept in sessionStorage. Nothing is written to a server-side database. Deploying to Cloudflare The Cloudflare Worker application is named passkey . It is an assets-only Worker: it has no Worker script, D1 binding, secrets, or runtime environment variables. Install and build The build bundles the browser-side WebAuthn verification and IndexedDB adapter into public/client-backend.js . Local development Deploy Authenticate once, then deploy: Wrangler creates or updates the separate passkey Worker application. To attach a hostname, add it in Workers & Pages → passkey → Settings → Domains & Routes → Add Custom Domain , or add this to wrangler.toml : Changing the hostname changes the WebAuthn relying-party scope. Credentials registered on another hostname generally cannot be used on the new hostname. Client-only limitations - Stored credential details do not synchronize across browsers or devices. - Clearing site data removes the local cred","default_branch":null,"files":null,"tree":[],"storefront":"/r/microsoft","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/microsoft/webauthntest/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}