Server-Side Setup in apps/server/src/lib/auth.ts
1. Configure BetterAuth
2. Session Schema
Client-Side Implementation
1. Auth Client Setup
2. get session
Security Features
-
Session Storage
- Secure cookie storage
- HTTP-only cookies
- SameSite policy
- CSRF protection
-
Session Validation
- Token verification
- Expiration checks
- IP validation
- User agent validation
-
Session Refresh
- Automatic refresh
- Sliding expiration
- Refresh token rotation
- Concurrent session handling
Best Practices
-
Session Security
- Use secure cookies
- Implement CSRF protection
- Validate session data
- Monitor session activity
-
Error Handling
- Handle expired sessions
- Manage invalid tokens
- Clear invalid sessions
- Log session errors
-
User Experience
- Smooth session refresh
- Clear session states
- Handle session loss
- Provide feedback
Common Issues & Solutions
-
Session Expiry
- Implement refresh logic
- Handle expired sessions
- Clear invalid sessions
- Update session data
-
Cross-Domain Issues
- Configure CORS
- Set cookie domains
- Handle subdomains
- Validate origins
-
Concurrent Sessions
- Manage multiple sessions
- Handle conflicts
- Update session data
- Clear old sessions