An implementation of WebAuthn in OCaml
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Reynir Björnsson 9c2e24365d Merge pull request 'Update to dream.1.0.0~alpha4 and cmdliner>=1.1.0' (#5) from update-example into main
Reviewed-on: https://git.robur.io/robur/webauthn/pulls/5
4 months ago
bin Update to dream.1.0.0~alpha4 and cmdliner>=1.1.0 4 months ago
flash_message Update to dream.1.0.0~alpha4 and cmdliner>=1.1.0 4 months ago
src Unvendor ocaml-cbor 2 years ago
CHANGES.md Prepare for v0.1.0 release 2 years ago
LICENSE.md Add BSD 2-clause license in LICENSE.md 2 years ago
README.md Updated terms, and added additional description. 2 years ago
dune-project dune-project: disable formatting 2 years ago
webauthn.opam Update to dream.1.0.0~alpha4 and cmdliner>=1.1.0 4 months ago

README.md

WebAuthn - authenticating users to services using public key cryptography

WebAuthn is a web standard published by the W3C. Its goal is to standardize an interface for authenticating users to web-based applications and services using public key cryptography. Modern web browsers support WebAuthn functionality.

WebAuthn provides two funcitons: register and authenticate. Usually the public-private keypair is stored on an external device, called security key (Yubikey, Trustkey etc.) or inside a platform(OS) authenticator. Platform authenticators are available on all modern platforms, such as Windows, Mac, Android and iOS. After the public key is registered, it can be used to authenticate to the same service.

This module does not preserve a database of registered public keys, their credential ID, usernames and pending challenges - instead this data must be stored by a client of this API in a database or other persistent storage.

WebAuthn specification at W3C

A basic demonstration server is provided (bin/webauthn_demo), running at webauthn-demo.robur.coop.

Documentation

API documentation is available online.

Installation

opam install webauthn will install this library.