API-ReferenzAuthentifizierung

Authentifizierung

DiffHook verwendet OAuth 2.0-Client-Anmeldeinformationen zur Authentifizierung von API-Anfragen. Sie tauschen einen API-Schlüssel gegen einen kurzlebigen Inhabertoken aus und senden diesen Token dann bei jeder Anfrage.

Schritt 1 – Holen Sie sich Ihren API-Schlüssel

Gehen Sie zu App → Einstellungen → API-Schlüssel und erstellen Sie einen Schlüssel. Sie erhalten zwei Werte:

  • Client-ID (client_id) – öffentliche Kennung. Es beginnt mit dh_live_ und wird mit einem zufälligen Suffix (URL-sichere Zeichen) fortgesetzt.
  • Client-Geheimnis (client_secret) – nur privates Geheimnis.

Schritt 2 – Fordern Sie ein Inhaber-Token an

Tauschen Sie Ihre Anmeldeinformationen gegen ein Token aus, indem Sie POST /api/oauth/token mit einem formcodierten Text aufrufen:

Token sind 24 Stunden gültig. Fordern Sie ein neues an, bevor das aktuelle abläuft.

Schritt 3 – Verwenden Sie den Inhabertoken

Übergeben Sie access_token im Authorization-Header bei jedem API-Aufruf:

curl https://www.diffhook.com/api/monitors \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Fehlerantworten

Fehlender oder fehlerhafter Authorization-Header (401):

{ "error": "Authorization header missing or invalid" }

Abgelaufenes oder manipuliertes Token – erneut authentifizieren, um ein neues zu erhalten (401):

{ "error": "Invalid or expired token" }

Ungültige Anmeldeinformationen am Token-Endpunkt geben einen OAuth-Fehlertext (401) zurück:

{
  "error": "invalid_client",
  "error_description": "Invalid client credentials"
}

Best Practices für die Sicherheit

  • Überweisen Sie niemals Ihr client_secret der Quellcodeverwaltung
  • Anmeldeinformationen in Umgebungsvariablen speichern (DIFFHOOK_CLIENT_ID, DIFFHOOK_CLIENT_SECRET)
  • Token verfallen nach 24 Stunden – integrieren Sie eine automatische Neuauthentifizierung in Ihre Integration
  • Rotieren Sie Schlüssel sofort, wenn einer verloren geht – widerrufen Sie den alten Schlüssel in den Einstellungen und generieren Sie einen neuen

Schlüsseldrehung

Um ohne Ausfallzeit zu rotieren:

  1. Generieren Sie einen neuen Schlüssel unter Einstellungen → API-Schlüssel
  2. Fordern Sie ein Token mit den neuen Anmeldeinformationen an und stellen Sie Ihre App damit bereit
  3. Entziehen Sie den alten Schlüssel, sobald der Verkehr vollständig verlagert ist