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 mitdh_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_secretder 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:
- Generieren Sie einen neuen Schlüssel unter Einstellungen → API-Schlüssel
- Fordern Sie ein Token mit den neuen Anmeldeinformationen an und stellen Sie Ihre App damit bereit
- Entziehen Sie den alten Schlüssel, sobald der Verkehr vollständig verlagert ist