This project holds the standard FIDO2 api endpoints and the Proof of Knowledge for Algorand specific private keys. The api is a stateful session-based architecture with endpoint guards. A user must prove ownership of a private key to associate PublicKeyCredentials
This guide is designed to get the project running locally in a dockerized container. See the full Service Documentation for more information
- Node.js 18+
- Docker
git clone git@github.com:algorandfoundation/liquid-auth.git && cd liquid-authnote on VPNs: Ngrok will not work with VPNs, so to run locally the project, disable it or configure your VPN's split tunneling to allow ngrok traffic.
Sign up for a free account at ngrok and follow the instructions to get your <NGROK_AUTH_TOKEN> and <NGROK_STATIC_DOMAIN>.
Don't run the ngrok commands directly as expressed in the ngrok guide as it will create run-time port conflicts.
Add a ngrok.yml configuration to the root directory.
version: 2
authtoken: <NGROK_AUTH_TOKEN>
tunnels:
website:
addr: liquid-auth:3000
proto: http
domain: <NGROK_STATIC_DOMAIN>
Make sure to update the authtoken and domain in the ngrok.yml file with your ngrok details.
Update the .env.docker file with the following keys with the values from ngrok:
HOSTNAME=<NGROK_STATIC_DOMAIN>
ORIGIN=https://<NGROK_STATIC_DOMAIN>A quick way to test the service is using the documentation site included in this repository.
Navigate to the docs directory:
cd docsCopy the .env.template file to .env:
cp .env.template .envUpdate the .env file with the <NGROK_STATIC_DOMAIN>
PUBLIC_LIQUID_ORIGIN=<NGROK_STATIC_DOMAIN>Run the following command to start the backend:
docker-compose up -dNavigate to https://localhost:4321 to view the documentation and try the demo on the landing page.