β Secure token generation for verification/magic links
β CORS and security headers configured
π§ Email Service Status
Configuration: β Configured with SOBIE production credentials
SMTP Host: mail.sobieconference.org
Port: 465 (SSL)
Authentication: Working
Test Results:
β Test emails (@example.com) blocked by SMTP (expected)
β Real emails (barrycumbie@gmail.com) should work
β Magic link requests successful (HTTP 200)
π User Flow Summary
Profile Creation Flow:
User submits registration form
Profile created with isEmailVerified: false
Verification email sent to userβs email
User must click verification link
Email verified, full access granted
Login Options Available:
Option A: Password Login
User enters email + password
System validates credentials
JWT tokens issued
Option B: Magic Link Login
User requests magic link
Magic link sent to email
User clicks link β automatic login
JWT tokens issued
π Manual Testing Guide
Test Email Verification:
# 1. Create profile (replace with real email)
curl -X POST http://localhost:3000/api/auth/register \-H"Content-Type: application/json"\-d'{
"email": "your-real-email@gmail.com",
"password": "SecurePass123!",
"name": {"firstName": "Test", "lastName": "User"},
"userType": "academic",
"affiliation": {"organization": "Test Org"}
}'# 2. Check email for verification link# 3. Click verification link or use:
curl -X POST http://localhost:3000/api/auth/verify-email \-H"Content-Type: application/json"\-d'{"token": "VERIFICATION_TOKEN_FROM_EMAIL"}'
Test Magic Link:
# 1. Request magic link
curl -X POST http://localhost:3000/api/auth/magic-link \-H"Content-Type: application/json"\-d'{"email": "your-real-email@gmail.com"}'# 2. Check email for magic link# 3. Click magic link or extract token and use:
curl -X POST http://localhost:3000/api/auth/magic-login \-H"Content-Type: application/json"\-d'{"token": "MAGIC_LINK_TOKEN_FROM_EMAIL"}'