{"repo":"SagarBiswas-MultiHAT/Multi-FA-Auth","free":true,"listed":false,"github":"https://github.com/SagarBiswas-MultiHAT/Multi-FA-Auth","clone":"git clone https://github.com/SagarBiswas-MultiHAT/Multi-FA-Auth.git","description":"Multi-FA-Auth; A beginner-friendly Node/Express + Vanilla JS authentication demo that implements a complete sign-up/sign-in lifecycle: email verification (4‑digit OTP), optional 2FA (email OTP, TOTP authenticator, backup codes), password reset, account settings, session handling, and deploy-ready email fallback (Brevo → SMTP → debug).","language":"JavaScript","stars":22,"topics":["authentication","beginner-friendly","email-verification","express","nodejs","otp","totp","two-factor-authentication","backup-codes","brevo"],"license":null,"category":"auth-billing-email","readme_excerpt":"Email Verification + 2FA Auth Demo (Vanilla JS + Node/Express) &nbsp; &nbsp; &nbsp; &nbsp; A beginner-friendly authentication project that feels like a real app , but is still small enough to understand end-to-end. This repo shows the complete auth story: - Sign up with email verification (4-digit OTP) - Sign in with optional 2FA: - Email OTP (4 digits) - Authenticator app (TOTP, 6 digits) - Backup codes (10 one-time codes) - Forgot password (email OTP + reset) - Account settings (update profile + change password) It also includes small UX + “production-ish” details beginners usually miss: - Auto Unique UserName suggestion (slug from display name) on Sign up + Account settings - “Dirty guard”: if you manually edit Unique UserName, autosuggest stops overwriting it - OTP resend cooldown + simple rate limiting (API returns retryAfter ) - “Instructor mode”: if email can’t be sent, the UI shows debug code so you can keep learning --- Live: https://twofa-auth-vwrs.onrender.com/ Screenshots Sign-in Sign-in with Authenticator Sign-in with Backup Codes Forget Password Sing-up Dashboard Enable Authenticator Account Setting --- 1) Quick Start (Local) Prerequisites - Node.js (recommended: 18+) - npm Install Configure environment 1. Create a .env file with: 3. Optional: change PORT (default is 3000 ) Run Open the URL printed in your terminal, e.g. http://localhost:3000 . Important: don’t open index.html directly. The UI calls /api/ endpoints and needs the server. Windows PowerShell tip (c","default_branch":null,"files":null,"tree":[],"storefront":"/r/SagarBiswas-MultiHAT","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SagarBiswas-MultiHAT/Multi-FA-Auth/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}