This project demonstrates how to use WebAuthn with Ed25519 key pairs for secure authentication.
- Python 3.8+
- Node.js (for frontend development)
- Flask
- SQLAlchemy
-
Navigate to the
backend
directory:cd backend
-
Install the necessary Python packages:
pip install -r requirements.txt
-
Initialize the database:
python database.py
-
Run the Flask server:
python app.py
- Open
frontend/index.html
in your browser.
- Register: Creates a new Ed25519 key pair on the user's device and sends the public key to the server.
- Authenticate: Signs a challenge with the private key stored on the user's device and sends it to the server for verification.
In this implementation, the trusted parties are the authenticator (user's device) and the user's browser. The private key never leaves the authenticator and is used only for signing authentication challenges.
[Insert demo video link here]
This project is licensed under the MIT License.