cb1982c39e
- Created useAuthApi composable for JWT token lifecycle management - Implemented setupAuthInterceptor for automatic Authorization header injection - Added LoginPage.vue with username/password form - Configured router to redirect to /login for unauthenticated access - Token stored in localStorage with expiration tracking - Automatic token validation and cleanup on expiration - All fetch requests automatically include Bearer token - Unit tests for login, logout, token validation flows This enables frontend to authenticate via JWT tokens in production mode. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>