1.7 KiB
1.7 KiB
Developer Guide & Local Emulation
1. Local Auth Bypass (Zitadel-Dummy)
Für die lokale Entwicklung auf 127.0.0.1 oder benutzerdefinierten Dev-Domains kann die OIDC-Authentifizierung umgangen werden.
In der .env:
DEV_MODE=true
DEV_USER_ROLE=admin
DEV_TENANT_ID=tenant_dev_123
Ist DEV_MODE=true gesetzt, injiziert die Middleware automatisch eine Mock-Session für den angegebenen Dev-User, ohne Redirects zu Zitadel auszuführen.
2. reCAPTCHA v3 Mocking
Im Dev-Modus wird die Google reCAPTCHA API nicht kontaktiert.
- Erfolg-Simulation: Standardmäßig gibt der Mock-Service einen Score von
0.9zurück. - Fehlschlag-Simulation: Durch Setzen von
MOCK_RECAPTCHA_SCORE=0.1in der.envkann das Abweisen von Spam-Submissions lokal getestet werden.
3. CLI Commands & Maintenance
Datenbank-Migration
- Migration-Repository initialisieren:
flask db init(nur einmalig erforderlich) - Migration erstellen:
flask db migrate -m "Beschreibung der Änderungen"(nach Modell-Änderungen) - Migration anwenden:
flask db upgrade(wendet ausstehende Migrationen an) - Migration zurücksetzen:
flask db downgrade(setzt die letzte Migration zurück)
Daten & Verwaltung
- Datenbank-Seeding:
flask seed-db(Erstellt Test-Mandanten und Beispiel-Formulare) - E-Mail Dump Trigger:
flask run-scheduled-export --tenant-id=<ID> --period=daily(Führt datenbank-agnostischen Export via SQLAlchemy aus und versendet die Mail)
Tenant & User Verwaltung
- Neuen Mandanten erstellen:
flask create-tenant <Name> <Public-Key> [--allowed-origins=...] - Neuen Benutzer erstellen:
flask create-user <Email> <Name> [--role=admin|tenant_admin|user|viewer]