Files
oicd/docs/TODO.md
2025-11-30 00:07:24 +01:00

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 /jwks Endpoint bereitgestellt.

DevOps/Production

  • ✅ (NEU) Environment Configuration - .env File Support für Secrets (Development/Production)
  • ✅ (NEU) Health Check Endpoint - /health für Monitoring und Load Balancer
  • ✅ (NEU) Docker Support - Dockerfile und docker-compose.yml fü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
  • /token Endpoint 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 /authorize akzeptieren (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-email und /reset-password Endpoints

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)

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