Currently in beta. Good for demos and prototypes, but not production ready.
git clone --recursive https://github.com/apowers313/fido2-server-demo
cd fido2-server-demo
npm install
npm start
Note: this has been developed and tested on MacOS X, and webauthn.org was running this server on Ubuntu Linux. It has not been tested on Windows -- please open issues for Windows bugs.
Note: this project uses async
/ await
and requires node.js 7.6+. If you are running OpenSSH >1.1.0 (e.g. - Debian Buster), it requires node.js 10+.
There is also a Docker image available, which makes it much less likely that you will have configuration problems. Here are the instructions for using the Docker image.
docker run -d -p 8888:8888 -p 8443:8443 apowers313/fido2-server:prod-canary
Edit scm-config.json
to change ports, domains, and certificate paths.
This a simple-component-manager configuration file where each component is replaceable with one of a similar type (logger, user data store, cert manager, etc.). More components and documentation will be forthcoming. For now, hopefully things like changing ports and certificate paths are fairly obvious.
The following components are used for this server:
If you find bugs or need help, open a GitHub issue. If you are so inspired, feel free to submit a pull request. Also feel free to just send a note saying that you're using the server and what you think of it -- it's nice to know when a project is being used.
You can also find me on Twitter at @apowers313.
This server does a number of things that shouldn't be done in a real server. These are for demonstration purposes and will be phased out over the next couple months:
Note that while I used to be Technical Director for FIDO Alliance (and I am currently the Technical Advisor for FIDO Alliance), THIS PROJECT IS NOT ENDORSED OR SPONSORED BY FIDO ALLIANCE.
Work for this project is supported by my consulting company: WebAuthn Consulting.
There are a number of other great FIDO2 and WebAuthn projects out there. I love all things FIDO2 and WebAuthn, so here's a list of other projects (Note: I'm not affiliated with any of these projects):
If your project isn't listed here and you would like it to be, drop me a note and I would be happy to add it.