2.1 KiB
2.1 KiB
Webhook Authorization Header - Anleitung
Der Webhook unterstützt zwei Authentifizierungsmethoden:
- Signature-Verification (Standard, von Gitea)
- Authorization Header (Optional, zusätzliche Sicherheit)
Option 1: Nur Signature (Standard)
Das ist die Standard-Methode, die Gitea automatisch verwendet:
Konfiguration
In server/.env:
GITEA_WEBHOOK_SECRET=dein_secret_hier
In Gitea
- Secret: Trage das gleiche Secret ein
- Authorization Header: Nicht nötig
Gitea sendet automatisch den X-Gitea-Signature Header.
Option 2: Authorization Header (Zusätzliche Sicherheit)
Falls du zusätzliche Sicherheit möchtest oder den Webhook manuell aufrufst:
Schritt 1: Token generieren
node -e "console.log(require('crypto').randomBytes(16).toString('hex'))"
Schritt 2: Server konfigurieren
In server/.env:
GITEA_WEBHOOK_SECRET=dein_secret_hier
GITEA_WEBHOOK_AUTH_TOKEN=dein_auth_token_hier
Schritt 3: In Gitea konfigurieren
Gitea unterstützt keine Authorization Header direkt, aber du kannst:
Option A: Nur Signature verwenden (empfohlen)
- Lass
GITEA_WEBHOOK_AUTH_TOKENleer - Nur
GITEA_WEBHOOK_SECRETverwenden
Option B: Manuelle Webhook-Aufrufe
Wenn du den Webhook manuell aufrufst (z.B. via curl), verwende:
curl -X POST https://emailsorter.webklar.com/api/webhook/gitea \
-H "Content-Type: application/json" \
-H "X-Gitea-Signature: sha256=..." \
-H "Authorization: Bearer dein_auth_token_hier" \
-d '{"ref":"refs/heads/main",...}'
Option 3: Beide Methoden kombinieren
Für maximale Sicherheit kannst du beide verwenden:
# In server/.env
GITEA_WEBHOOK_SECRET=secret_fuer_signature
GITEA_WEBHOOK_AUTH_TOKEN=token_fuer_auth_header
Verhalten:
- Wenn beide gesetzt sind, müssen beide passen
- Wenn nur eine gesetzt ist, reicht diese
Empfehlung
Für Gitea-Webhooks: Verwende nur GITEA_WEBHOOK_SECRET (Signature)
Für manuelle Aufrufe: Verwende GITEA_WEBHOOK_AUTH_TOKEN (Authorization Header)
Für maximale Sicherheit: Verwende beide