Giter Club home page Giter Club logo

liquid-auth's Introduction

Algorand Authentication Service

Overview

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

Getting started

Prerequisites

  • Node.js 18+
  • Docker

Clone the project

git clone [email protected]:algorandfoundation/liquid-auth.git && cd liquid-auth

NGROK

note 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>.

With Docker

Don't run the ngrok commands directly as expressed in the ngrok guide as it will create run-time port conflicts.

Without Docker

ngrok will ask you to add your auth token to your configuration file.

ngrok config add-authtoken <NGROK_AUTH_TOKEN>

Will then ask you to deploy your static domain, make sure to change the port to 5173 like this:

ngrok http --domain=<NGROK_STATIC_DOMAIN> 5173

Configure NGROK

Add a ngrok.yml configuration to the root directory.

Example Configuration
version: 2
authtoken: <NGROK_AUTH_TOKEN>
tunnels:
  website:
    addr: liquid-auth:5173
    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 Service's .env.docker file

Update the .env.docker file with the following keys with the values from ngrok:

HOSTNAME=<NGROK_STATIC_DOMAIN>
ORIGIN=https://<NGROK_STATIC_DOMAIN>

Start services

Run the following command to start the backend:

docker-compose up -d

Navigate to the ngrok URL in your browser to test the FIDO2 feature.

Using the app

Install the Android client to your device.

Step-1.png

QR Connect

Open the Connect Modal on the website and scan the QR code using the "Connect" button on the Android device. Follow the instructions on the Android device to register a credential.

Step-1-QRCode.png

Peer to Peer

Once the credential is registered, you can send messages over the peer connection.

Step-2.png

liquid-auth's People

Contributors

phearzero avatar kylebeee avatar ehanoc avatar ori-shem-tov avatar hashmapsdata2value avatar loedn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.