Implement authentication system with access control UI
This commit is contained in:
30
CHANGELOG.md
30
CHANGELOG.md
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
### Added
|
||||
- Added user authentication system with session-based login (#50)
|
||||
- `users` table with password hashing (bcrypt), admin flag, active status
|
||||
- `sessions` table for web login sessions (24-hour expiry)
|
||||
- `auth_settings` table for future OIDC configuration
|
||||
- Default admin user created on first boot (username: admin, password: admin)
|
||||
- Added auth API endpoints (#50)
|
||||
- `POST /api/v1/auth/login` - Login with username/password
|
||||
- `POST /api/v1/auth/logout` - Logout and clear session
|
||||
- `GET /api/v1/auth/me` - Get current user info
|
||||
- `POST /api/v1/auth/change-password` - Change own password
|
||||
- Added API key management with user ownership (#50)
|
||||
- `POST /api/v1/auth/keys` - Create API key (format: `orch_<random>`)
|
||||
- `GET /api/v1/auth/keys` - List user's API keys
|
||||
- `DELETE /api/v1/auth/keys/{id}` - Revoke API key
|
||||
- Added `owner_id`, `scopes`, `description` columns to `api_keys` table
|
||||
- Added admin user management endpoints (#50)
|
||||
- `GET /api/v1/admin/users` - List all users
|
||||
- `POST /api/v1/admin/users` - Create user
|
||||
- `GET /api/v1/admin/users/{username}` - Get user details
|
||||
- `PUT /api/v1/admin/users/{username}` - Update user (admin/active status)
|
||||
- `POST /api/v1/admin/users/{username}/reset-password` - Reset password
|
||||
- Added `auth.py` module with AuthService class and FastAPI dependencies (#50)
|
||||
- Added auth schemas: LoginRequest, LoginResponse, UserResponse, APIKeyResponse (#50)
|
||||
- Added migration `006_auth_tables.sql` for auth database tables (#50)
|
||||
- Added frontend Login page with session management (#50)
|
||||
- Added frontend API Keys management page (#50)
|
||||
- Added frontend Admin Users page (admin-only) (#50)
|
||||
- Added AuthContext for frontend session state (#50)
|
||||
- Added user menu to Layout header with login/logout (#50)
|
||||
- Added 15 integration tests for auth system (#50)
|
||||
- Added reusable `DragDropUpload` component for artifact uploads (#8)
|
||||
- Drag-and-drop file selection with visual feedback
|
||||
- Click-to-browse fallback
|
||||
|
||||
Reference in New Issue
Block a user