Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abdullahi-abdiaziz/mfa-auth-system

A secure Multi-Factor Authentication (MFA) system built using React, Node.js, Express, and MongoDB. This app enhances security by integrating MFA with Passport.js for authentication and Speakeasy for generating time-based one-time passwords (TOTP).
https://github.com/abdullahi-abdiaziz/mfa-auth-system

express-session expressjs mongodb mongoose passportjs qrcode react-hook-form speakeasy zod

Last synced: 14 days ago
JSON representation

A secure Multi-Factor Authentication (MFA) system built using React, Node.js, Express, and MongoDB. This app enhances security by integrating MFA with Passport.js for authentication and Speakeasy for generating time-based one-time passwords (TOTP).

Awesome Lists containing this project

README

        

# Multi-Factor Authentication (MFA) System

A secure **Multi-Factor Authentication (MFA)** system built using **React**, **Node.js**, **Express**, and **MongoDB**. This app enhances security by integrating MFA with **Passport.js** for authentication and **Speakeasy** for generating time-based one-time passwords (TOTP).

## Key Features:

- **User Authentication**: Implements local authentication using **Passport.js**.
- **Two-Factor Authentication (2FA)**: Utilizes **Speakeasy** for TOTP-based 2FA.
- **React Frontend**: A responsive frontend built with **React** for a seamless user experience.
- **Express Backend**: Manages API routes and business logic.
- **MongoDB with Mongoose**: Stores user data and 2FA secret keys.
- **RESTful API**: Follows REST principles for clean and scalable routes.
- **JWT Authentication**: Secures API endpoints with **JWT** tokens.

## Tech Stack:

- **Frontend**: React
- **Backend**: Node.js, Express
- **Authentication**: Passport.js, JWT
- **Database**: MongoDB with Mongoose
- **2FA**: Speakeasy (TOTP generation)

## Status:

**Under Development**: This project is currently a work in progress, and new features and improvements are being actively added.