# Simplify Authentik Auth - Tasks

## Phase 1: Remove Old Auth Code

- [ ] **Task 1.1**: Remove JWT service (`src/auth/jwt_service.py`)
  - Delete file
  - Remove all imports and usages
  
- [ ] **Task 1.2**: Remove refresh token store (`src/auth/refresh_store.py`)
  - Delete file
  - Remove refresh token model (`src/models/refresh_token.py`)
  - Remove table in Alembic migration
  
- [ ] **Task 1.3**: Remove complex OIDC logic
  - Simplify `src/auth/oidc.py` to basic OAuth2 flow
  - Remove JWKS fetching
  - Remove token verification
  
- [ ] **Task 1.4**: Clean up auth dependencies
  - Remove `python-jose` from dependencies if no longer needed
  - Update `pyproject.toml`

## Phase 2: Implement Session Auth

- [ ] **Task 2.1**: Create session service (`src/auth/session.py`)
  - Session cookie creation/signing
  - Session cookie parsing/verification
  - Session expiry handling
  
- [ ] **Task 2.2**: Update auth endpoints (`src/api/auth.py`)
  - Simplify login endpoint
  - Update callback to create session instead of JWT
  - Update /me to read from session
  - Simplify logout
  
- [ ] **Task 2.3**: Update auth middleware
  - Replace JWT middleware with session middleware
  - Load user from database based on session
  
- [ ] **Task 2.4**: Update configuration
  - Remove JWT config
  - Add SESSION_SECRET and SESSION_TTL_HOURS
  - Update .env.example
  - Update docker-compose configs

## Phase 3: Update Frontend

- [ ] **Task 3.1**: Remove JWT handling from frontend
  - Delete token refresh logic
  - Remove access token storage
  
- [ ] **Task 3.2**: Update auth API client
  - Remove refresh endpoint calls
  - Simplify auth state management
  
- [ ] **Task 3.3**: Update protected route logic
  - Check session cookie instead of JWT
  - Simpler auth state

## Phase 4: Testing & Cleanup

- [ ] **Task 4.1**: Update auth tests
  - Rewrite tests for new session-based flow
  - Remove JWT-specific tests
  - Add session validation tests
  
- [ ] **Task 4.2**: Run quality gates
  - ruff check
  - mypy
  - pytest
  - frontend typecheck + lint + build
  
- [ ] **Task 4.3**: Documentation
  - Update README with new auth flow
  - Update deployment docs
  - Document configuration changes
