SimpleWebAuthn Project

WebAuthn npm (scoped)

Overview

This monorepo contains two complimentary libraries to help reduce the amount of work needed to incorporate WebAuthn into a website. The following packages are maintained here:

An additional package is also included that contains shared TypeScript definitions:

See these packages' READMEs for more specific implementation information.

API Documentation

In-depth documentation for all of the packages in this project is available here: https://simplewebauthn.dev/docs/

Example

For a practical guide to implementing these libraries, take a look at the example project. It includes a single-file Express server and a few HTML files that, combined with the packages in this repo, are close to all it takes to get up and running with WebAuthn.

Development

Install the following before proceeding:

  • Node.js 18
  • Deno 1.36.x

After pulling down the code, set up dependencies:

$> npm install

To run unit tests for all workspace packages, use the test series of scripts:

# Run All tests
$> npm run test
# Run an individual package's tests
$> npm run test:browser
$> npm run test:server

Tests can be run in watch mode with the dev series of scripts:

$> npm run dev:browser
$> npm run dev:server