This project is a Proof of Concept (PoC) to explore the implementation of passkeys and Time-based One-Time Password (TOTP) for Multi-Factor Authentication (MFA) support. The primary goal of this project is to understand how passkeys work and to gain more knowledge about TOTP for enhancing security through MFA.
Additionally, this project was an experiment in leveraging AI to assist in the development process. Many iterations were made with the help of AI to start the project and work through the code and features.
- Passkey authentication
- TOTP for MFA support
- Backend built with Fastify
- Frontend integration
- Bun - A fast all-in-one JavaScript runtime. Follow the instructions on the Bun website to install it.
-
Navigate to the backend directory:
cd backend
-
Install the dependencies:
bun install
-
Start the development server:
bun run dev
-
To start the production server:
bun run start
-
Navigate to the frontend directory:
cd frontend
-
Install the dependencies:
bun install
-
Start the development server:
bun run dev
-
To build the frontend for production:
bun run build
The motivation behind this project was to:
- Understand how passkeys work and their implementation.
- Gain more knowledge about TOTP for MFA support.
- Experiment with AI-assisted development, allowing AI to start the project and iteratively improve the code and features.
This PoC project serves as a learning tool for implementing passkeys and TOTP for MFA. It also demonstrates the potential of AI in assisting with software development, making the process more efficient and iterative.
Feel free to explore the code and contribute to the project!