5.8 KiB
5.8 KiB
OIDC Server - TODO & Roadmap
✅ Bereits implementiert
Core OIDC Funktionalität
- ✅ Authorization Code Flow (vollständig implementiert)
- ✅ Discovery Endpoint (
/.well-known/openid-configuration) - ✅
/authorize- Authorization Endpoint - ✅
/token- Token Exchange - ✅
/userinfo- User Info Endpoint - ✅ JWT ID Tokens (signiert mit RS256)
- ✅ Access Tokens mit Validation
- ✅ Authorization Codes mit TTL
User Management
- ✅ User Registration (Self-Service)
- ✅ Password Change (Self-Service)
- ✅ Bcrypt Password Hashing
- ✅ User Login mit Session
- ✅ User Dashboard
Admin Features
- ✅ Admin Login (separate Session)
- ✅ CRUD für User-Verwaltung
- ✅ Rollen-System (user, admin, moderator, readonly)
- ✅ Permissions-System (JSON Array, comma-separated UI)
- ✅ User Activate/Deactivate
- ✅ (NEU) Multi-Client Support - OIDC-Clients können über das Admin-Panel verwaltet werden.
Security & Data
- ✅ SQLite Database (PostgreSQL-ready)
- ✅ Session-based Authentication
- ✅ CSRF Protection (state parameter)
- ✅ Sichere Landing Page (keine Secrets exposed)
- ✅ (NEU) Rate Limiting - Schutz vor Brute-Force auf Login/Token Endpoints
- ✅ (NEU) Audit Logging - Loggt Logins und Admin-Aktionen in die Datenbank
- ✅ (NEU) Asymmetric Token Signing (RS256) - ID Tokens werden mit RS256 signiert und der Public Key per
/jwksEndpoint bereitgestellt.
DevOps/Production
- ✅ (NEU) Environment Configuration -
.envFile Support für Secrets (Development/Production) - ✅ (NEU) Health Check Endpoint -
/healthfür Monitoring und Load Balancer - ✅ (NEU) Docker Support -
Dockerfileunddocker-compose.ymlfür einfaches Deployment - ✅ (NEU) Production WSGI Server - Gunicorn wird im Docker Container verwendet
- ✅ (NEU) Database Migrations - Schema-Änderungen werden mit Flask-Migrate (Alembic) verwaltet.
UI/UX
- ✅ Modernes Dark Mode Design
- ✅ Responsive Layout
- ✅ Alle Templates mit Theme Toggle
🚀 TODO - Nächste Features
Security Improvements (Priorität: HOCH)
2. Token Refresh Flow
Status: ⏳ Offen Priorität: Hoch Beschreibung:
- Refresh Tokens für längere Sessions
- User muss nicht alle X Minuten neu einloggen Tasks:
- RefreshToken Model in DB erstellen
/tokenEndpoint erweitern:grant_type=refresh_token- Refresh Token Rotation implementieren
- Token Expiry konfigurierbar machen
4. HTTPS Enforcement
Status: ⏳ Offen Priorität: Hoch (für Production) Beschreibung:
- Aktuell nur HTTP (Development)
- Production: SSL/TLS zwingend Tasks:
- SSL Certificates (Let's Encrypt)
- Nginx/Traefik Reverse Proxy Setup
- HTTPS Redirect erzwingen
- Secure Cookie Flags setzen
5. PKCE Support
Status: ⏳ Offen Priorität: Mittel Beschreibung:
- Proof Key for Code Exchange
- Wichtig für SPAs und Mobile Apps ohne Client Secret Tasks:
- PKCE Parameter in
/authorizeakzeptieren (code_challenge,code_challenge_method) - Code Verifier Validation in
/token - S256 und plain methods unterstützen
Features (Priorität: MITTEL)
7. Scope Management
Status: ⏳ Offen Priorität: Mittel Beschreibung:
- Aktuell: Scopes werden akzeptiert aber nicht enforced
- Bessere Scope → Permission Mapping Tasks:
- Scope Definition System
- Scope Validation gegen User Permissions
- Consent Screen für Scopes
- Scope-basierte Token Claims
8. Email Verification
Status: ⏳ Offen Priorität: Mittel Beschreibung:
- Email Verification bei Registration
- Password Reset per Email Tasks:
- SMTP Konfiguration
- Email Verification Token System
- Email Templates (Verification, Password Reset)
/verify-emailund/reset-passwordEndpoints
9. 2FA/MFA
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Two-Factor Authentication Tasks:
- TOTP Support (Google Authenticator, Authy)
- QR Code Generation für TOTP Setup
- Backup Codes generieren
- 2FA Enforcement für Admin Accounts
Admin Features (Priorität: MITTEL)
12. Token Management
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Aktive Tokens anzeigen und verwalten Tasks:
- Token List View (Access + Refresh Tokens)
- Token Revocation UI
- Token Lifetime Configuration
- "Revoke all tokens for user" Funktion
13. Bulk Operations
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Bulk User Import/Management Tasks:.
- CSV Import für Users
- Bulk Permission Assignment
- User Groups erstellen
- Group-based Permissions
User Experience (Priorität: NIEDRIG)
19. Consent Screen
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- User muss Scopes bestätigen
- "Diese App möchte Zugriff auf..." Tasks:
- Consent Screen Template
- Scope Descriptions
- Remember Consent per Client
- Revoke Consent UI
20. Session Management für User
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Aktive Sessions anzeigen Tasks:
- Session List View
- "Logout from all devices"
- Session Details (IP, Location, Device)
- Suspicious Login Warnings
21. Internationalization (i18n)
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Mehrsprachige UI
- Aktuell: Mix aus Deutsch/Englisch Tasks:
- Flask-Babel Integration
- Deutsche Übersetzungen
- Englische Übersetzungen
- Language Switcher in UI
22. Profile Picture Support
Status: ⏳ Offen Priorität: Niedrig Beschreibung:
- Avatar Upload Tasks:
- Avatar Upload im User Dashboard
- Image Resizing/Cropping
- Gravatar Fallback
- Avatar in ID Token (picture claim)
Letzte Aktualisierung: 2025-11-27