Demos
Runnable applications to see the library at work
Every demo lives in a dedicated repository: web-auth/webauthn-demos. It hosts seven standalone pure PHP projects and a complete Symfony application, each with its own README.
git clone https://github.com/web-auth/webauthn-demos.git
cd webauthn-demosPure PHP demos
They use web-auth/webauthn-lib alone: no framework, no database, no build step. Each one stores its state in a local file and boots with a single command.
Username based registration, sign in and credential management
Sign in without a username, with discoverable credentials and Conditional UI
Silent enrollment after a password login, with Conditional Create
The three Signal methods that keep the authenticator in sync with the server
credProps, credProtect, credBlob and minPinLength in a single ceremony
The PRF extension used for client side encryption, including an offline vault
Secure Payment Confirmation, in a same-origin, two-origin and three-tier flavour
Run one of them from its own directory:
cd basic-demo
./same-origin/run.shThe script installs the dependencies on first run and serves the demo on http://localhost:8000, which the browsers treat as a secure context. Set the PORT variable to serve it elsewhere.
Running them all at once
Every demo then gets its own port, from 8101 to 8110, so they can be compared side by side. They share the localhost Relying Party ID, which means a passkey registered in one of them is offered by the others.
Symfony application
symfony-demo is a complete application built on the bundle, with FrankenPHP, AssetMapper and Tailwind. It targets Symfony 8.1 and PHP 8.4, and shows the firewall, the Doctrine entities, a custom options storage and the Metadata Statement services in one place.
Last updated
Was this helpful?