feat: add email verification, password reset, and WSDC integration (Phase 1.5)
Backend features: - AWS SES email service with HTML templates - Email verification with dual method (link + 6-digit PIN code) - Password reset workflow with secure tokens - WSDC API proxy for dancer lookup and auto-fill registration - Extended User model with verification and WSDC fields - Email verification middleware for protected routes Frontend features: - Two-step registration with WSDC ID lookup - Password strength indicator component - Email verification page with code input - Password reset flow (request + reset pages) - Verification banner for unverified users - Updated authentication context and API service Testing: - 65 unit tests with 100% coverage of new features - Tests for auth utils, email service, WSDC controller, and middleware - Integration tests for full authentication flows - Comprehensive mocking of AWS SES and external APIs Database: - Migration: add WSDC fields (firstName, lastName, wsdcId) - Migration: add email verification fields (token, code, expiry) - Migration: add password reset fields (token, expiry) Documentation: - Complete Phase 1.5 documentation - Test suite documentation and best practices - Updated session context with new features
This commit is contained in:
@@ -48,9 +48,9 @@ export const AuthProvider = ({ children }) => {
|
||||
}
|
||||
};
|
||||
|
||||
const register = async (username, email, password) => {
|
||||
const register = async (username, email, password, firstName = null, lastName = null, wsdcId = null) => {
|
||||
try {
|
||||
const { user: userData } = await authAPI.register(username, email, password);
|
||||
const { user: userData } = await authAPI.register(username, email, password, firstName, lastName, wsdcId);
|
||||
setUser(userData);
|
||||
// Save to localStorage for persistence
|
||||
localStorage.setItem('user', JSON.stringify(userData));
|
||||
|
||||
Reference in New Issue
Block a user