Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MasterKale/SimpleWebAuthn
WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.
https://github.com/MasterKale/SimpleWebAuthn
browser commonjs deno denoland esm fido node passkeys typescript umd webauthn
Last synced: 3 months ago
JSON representation
WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.
- Host: GitHub
- URL: https://github.com/MasterKale/SimpleWebAuthn
- Owner: MasterKale
- License: mit
- Created: 2020-05-22T16:21:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-24T02:31:33.000Z (7 months ago)
- Last Synced: 2024-05-01T23:16:39.041Z (6 months ago)
- Topics: browser, commonjs, deno, denoland, esm, fido, node, passkeys, typescript, umd, webauthn
- Language: TypeScript
- Homepage: https://simplewebauthn.dev
- Size: 4.54 MB
- Stars: 1,274
- Watchers: 24
- Forks: 112
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
- awesome-webauthn - MasterKale: @simplewebauthn/server - WebAuthn, Simplified. A TypeScript-first Node.js library for simpler WebAuthn integration. Supports use in TypeScript and JavaScript projects. Partner library to the front end **@simplewebauthn/browser** (see [Client Libs](#client-libs)). (Server Libraries)
README
# SimpleWebAuthn Project
![WebAuthn](https://img.shields.io/badge/WebAuthn-Simplified-blueviolet?style=for-the-badge&logo=WebAuthn)
[![npm (scoped)](https://img.shields.io/npm/v/@simplewebauthn/server?style=for-the-badge&logo=npm)](https://www.npmjs.com/search?q=simplewebauthn)- [Overview](#overview)
- [Installation](#installation)
- [Example](#example)
- [Contributions](#contributions)
- [Development](#development)## 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:- [@simplewebauthn/server](https://github.com/MasterKale/SimpleWebAuthn/tree/master/packages/server)
- [@simplewebauthn/browser](https://github.com/MasterKale/SimpleWebAuthn/tree/master/packages/browser)An additional package is also included that contains shared TypeScript definitions:
- [@simplewebauthn/types](https://github.com/MasterKale/SimpleWebAuthn/tree/master/packages/types/)
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/## Installation
These packages are all available on **npm** for use in **Node LTS 20.x** projects and supports
**both CommonJS and [ECMAScript modules (ESM)](https://nodejs.org/api/esm.html#enabling)**:```sh
npm install @simplewebauthn/browser
npm install @simplewebauthn/server
npm install @simplewebauthn/types
```The **server** and **types** packages are also available for import into **Deno v1.33.x** projects
from **deno.land/x**:```ts
import {...} from 'https://deno.land/x/simplewebauthn/deno/server.ts';
import type {...} from 'https://deno.land/x/simplewebauthn/deno/types.ts';
```## Example
For a practical guide to implementing these libraries, take a look at the
[example project](https://github.com/MasterKale/SimpleWebAuthn/tree/master/example). 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.## Contributions
The SimpleWebAuthn project is not currently open to external contributions.
Please [submit an Issue](https://github.com/MasterKale/SimpleWebAuthn/issues/new/choose) and fill
out the provided template with as much information as possible if you have found a bug in need of
fixing.You can also [submit an Issue](https://github.com/MasterKale/SimpleWebAuthn/issues/new/choose) to
request new features, or to suggest changes to existing features.## Development
Install the following before proceeding:
- **Node 20.x**
- **Deno 1.41.x**
- **pnpm 8.6.x**After pulling down the code, set up dependencies:
```sh
$> pnpm run bootstrap-monorepo
```To run unit tests for all workspace packages, use the `test` series of scripts:
```sh
# Run All tests
$> pnpm run test
# Run an individual package's tests
$> pnpm run test:browser
$> pnpm run test:server
```Tests can be run in watch mode with the `dev` series of scripts:
```sh
$> pnpm run dev:browser
$> pnpm run dev:server
```