Commit Graph
4 Commits
Author SHA1 Message Date
Marko (Hermes Implementer) 2e71eb73b8 Merge branch 'main' into fix/user-auth-error-handling
Resolved conflicts in:
  - api/accounts/urls.py: Took main's complete URL set (verify/refresh/logout/me)
  - web/src/App.tsx: Took main's route structure with PublicRoute/ProtectedRoute wrappers
  - web/src/services/authApi.ts: Combined main's robust interceptor with PR's extractErrorMessage + getAccessToken/getRefreshToken helpers
  - web/src/contexts/AuthContext.tsx: Combined main's full auth flow (refreshAccessToken, getProfile, logoutUser) with PR's extractErrorMessage and user_data persistence
2026-05-29 02:24:51 +00:00
Marko (Hermes Implementer) 84c6262b3d fix: proper Axios error extraction, token refresh, auth state restoration, ProtectedRoute 2026-05-29 00:13:31 +00:00
Marko (Hermes Implementer) c2fc7bc15f feat: implement API security measures phase 1 2026-05-27 00:24:09 +00:00
Marko (Hermes Implementer) 6867a91b67 feat: add user authentication with separate login and register pages
- Custom User model with email as unique identifier (AUTH_USER_MODEL)

- POST /api/auth/register/ with email validation, password min 8 chars, duplicate rejection

- POST /api/auth/login/ returning JWT (access + refresh) tokens

- Passwords hashed via Django's make_password

- React LoginPage and RegisterPage with form validation

- AuthContext with useReducer for auth state management

- Axios API client with JWT token injection

- TypeScript conversion of frontend scaffold
2026-05-26 00:54:27 +00:00