Skip to main content

WebAuthn Server Buildkit

A framework-independent TypeScript WebAuthn / FIDO2 / passkeys server library — secure by default.

npm i webauthn-server-buildkit

Registration & authentication

Generate WebAuthn ceremony options and verify the response end to end — challenge, origin, RP-ID hash, flags, signature counter, and signature — for ES256/384/512, RS/PS256-512, and Ed25519.

Full attestation verification

apple, packed (self + x5c), fido-u2f, android-key, tpm, and android-safetynet are cryptographically verified. attestationVerified is true only when trust-anchored to a real root (honest framing).

FIDO MDS trust anchoring

Bring your own FIDO Metadata Service blob via a pluggable MetadataService. The package never fetches it at import — apple ships with a bundled root, the rest are RP-supplied.

Encrypted session tokens

AES-256-GCM with HKDF-SHA256 key derivation, managed behind the WebAuthnServer API. Create, validate, refresh, and revoke sessions without exposing the token format.

Pluggable storage

A built-in in-memory adapter plus a small StorageAdapter interface for users, credentials, challenges, and sessions. Drop in Postgres, Redis, MongoDB, or your own backend.

Secure by default, framework-free

Single-use challenges, algorithm pinning, cross-origin rejection, and constant-time comparisons are on by default. No web framework required — one runtime dependency (cbor-x).

Built and maintained by Ahsan Mahmood LinkedIn · GitHub · npm