Skip to content

[BUG]: Refactor auth controller and fix issues #304

Description

@zaibamachhaliya

Current auth controller has several issues that need improvement.

Issues Found:

  1. Security Issues:

    • Password stored temporarily in pendingSignups Map (plain text)
    • No rate limiting on OTP requests
    • No logout functionality
  2. Validation Issues:

    • Password validation regex missing in some places
    • No validation for OTP format
  3. Code Structure:

    • Mixed responsibilities (Appwrite + MySQL)
    • No separation of concerns
    • Hardcoded values (10 min expiry)
    • Missing error handling in db operations
  4. Missing Features:

    • No logout endpoint
    • No change password endpoint
    • No session management
    • No email verification status in DB
  5. Potential Bugs:

    • pendingSignups Map has no cleanup for failed verifications
    • Appwrite DB createDocument may fail silently
    • No transaction support for MySQL + Appwrite operations

Suggestions:

  • Move OTP logic to separate service
  • Add rate limiter for OTP endpoints
  • Add logout endpoint
  • Add change password endpoint
  • Add proper error handling
  • Use environment variables for expiry times
  • Add session tracking in DB
  • Add email_verified column in users table

Files: controllers/authController.js, config/db.js

Metadata

Metadata

Labels

SSoC26Program label for Social Summer of Code Season 5.

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions