Server-Side Setup
1. Configure BetterAuth
2. Database Schema
The authentication system uses the following Prisma schema:Client-Side Implementation
1. Auth Client Setup
2. Sign Up Form
3. Login Form
4. Password Reset Flow
Authentication Flows
1. Sign Up Flow
- User enters name, email, and password
- Form validation
- Create user account
- Send verification email
- User verifies email
- Auto sign-in after verification
2. Login Flow
- User enters email and password
- Form validation
- Verify credentials
- Create session
- Redirect to dashboard
3. Password Reset Flow
- User requests password reset
- Send reset email
- User clicks reset link
- Enter new password
- Update password
- Sign in with new password
Security Features
-
Password Security
- Secure password hashing
- Password complexity requirements
- Rate limiting for failed attempts
-
Email Verification
- Secure token generation
- Token expiration
- One-time use tokens
-
Session Security
- Secure session storage
- Session timeout
- IP and user agent tracking
Best Practices
-
Error Handling
- Show user-friendly error messages
- Log authentication errors
- Handle edge cases
-
User Experience
- Clear form validation
- Loading states
- Success/error feedback
-
Security
- HTTPS in production
- Rate limiting
- Input validation