This is a fullstack web application demonstrating a comprehensive, multi-factor authentication system. It includes user registration, multi-step verification for login, and a secure password reset flow.
- Frontend : Built with Next.js and React
- Backend : Built with Node.js , Express , and MongoDB
- Email Delivery : OTP and notification emails sent via SendGrid
- User registration with traditional email & password.
- Secure password hashing using bcrypt .
- JWT-based authentication for protecting server-side routes.
- Session management with
httpOnlycookies for enhanced security. - User logout functionality.
- Email OTP Verification : Users must verify their email with an OTP upon registration.
- Multi-Step Login Flow :
- Standard Password Verification
- Email OTP Verification
- Color Pattern Recognition : Users enter a secret pattern of colors.
- Graphical Password : Users select a secret sequence of images.
- Randomized Interfaces : The positions of colors and images are randomized on each load to prevent shoulder-surfing attacks.
- Password & Pattern Reset : A secure, OTP-based flow allows users to reset their password, color pattern, and graphical password if forgotten.
- Credential Confirmation : Users receive an email with their chosen patterns (but not their password) upon successful registration.
- Resend OTP functionality for both registration and login.