42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# 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`:
|
|
```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.9` zurück.
|
|
* **Fehlschlag-Simulation:** Durch Setzen von `MOCK_RECAPTCHA_SCORE=0.1` in der `.env` kann 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]`
|