Current auth controller has several issues that need improvement.
Issues Found:
-
Security Issues:
- Password stored temporarily in pendingSignups Map (plain text)
- No rate limiting on OTP requests
- No logout functionality
-
Validation Issues:
- Password validation regex missing in some places
- No validation for OTP format
-
Code Structure:
- Mixed responsibilities (Appwrite + MySQL)
- No separation of concerns
- Hardcoded values (10 min expiry)
- Missing error handling in db operations
-
Missing Features:
- No logout endpoint
- No change password endpoint
- No session management
- No email verification status in DB
-
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
Current auth controller has several issues that need improvement.
Issues Found:
Security Issues:
Validation Issues:
Code Structure:
Missing Features:
Potential Bugs:
Suggestions:
Files: controllers/authController.js, config/db.js