**Description:** Allow users to verify their email address via a token sent during registration. **Tasks:** - [ ] Generate a secure random token using `crypto` - [ ] Save `emailVerificationToken` and `emailVerificationExpires` on the User model - [ ] Create `GET /api/auth/verify-email/:token` endpoint - [ ] Set `isVerified: true` and clear the token fields on successful verification - [ ] Return `400` if token is invalid or expired **Acceptance Criteria:** Users can verify their email; unverified users cannot log in. ---
Description:
Allow users to verify their email address via a token sent during registration.
Tasks:
cryptoemailVerificationTokenandemailVerificationExpireson the User modelGET /api/auth/verify-email/:tokenendpointisVerified: trueand clear the token fields on successful verification400if token is invalid or expiredAcceptance Criteria:
Users can verify their email; unverified users cannot log in.