Authentication System Design & MFA Implementation

Intro:
Modern applications rely on secure authentication to protect user data. This challenge focuses on building a lightweight but robust login system that safely handles user registration, password storage, and session management.

Guidelines:

  • Design a simple authentication flow that supports user sign-up, login, and logout.

  • Use secure password hashing (e.g., bcrypt or Argon2) — never store plain text passwords.

  • Implement session or token-based login (cookies or JWTs).

  • Include password reset and session expiry mechanisms.

  • Provide admin control to revoke sessions or reset passwords when needed.