/SimpleWebAuthn

WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers and Node.

Primary LanguageTypeScriptMIT LicenseMIT

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

After pulling down the code, set up dependencies:

$> npm install
$> npm run bootstrap

To run unit tests for all tracked lerna packages, run the following:

$> npx lerna run test

Running Jest in watch mode for a specific project requires the use of lerna exec:

$> npx lerna exec npm run test:watch --scope=@simplewebauthn/server