Authentification
DiffHook utilise les identifiants client OAuth 2.0 pour authentifier les requêtes API. Vous échangez une clé API contre un jeton de porteur de courte durée, puis envoyez ce jeton à chaque demande.
Étape 1 — Obtenez votre clé API
Accédez à Application → Paramètres → Clés API et créez une clé. Vous recevrez deux valeurs :
- ID client (
client_id) : identifiant public. Il commence pardh_live_et continue avec un suffixe aléatoire (caractères sécurisés pour les URL). - Secret client (
client_secret) — secret privé uniquement.
Étape 2 — Demander un jeton au porteur
Échangez vos informations d'identification contre un jeton en appelant POST /api/oauth/token avec un corps codé sous forme de formulaire :
Les jetons sont valables 24 heures. Demandez-en un nouveau avant l’expiration de l’actuel.
Étape 3 — Utilisez le jeton du porteur
Transmettez access_token dans l'en-tête Authorization à chaque appel d'API :
curl https://www.diffhook.com/api/monitors \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Réponses aux erreurs
En-tête Authorization manquant ou mal formé (401) :
{ "error": "Authorization header missing or invalid" }
Jeton expiré ou falsifié — ré-authentifiez-vous pour en obtenir un nouveau (401) :
{ "error": "Invalid or expired token" }
De mauvaises informations d'identification au point de terminaison du jeton renvoient un corps d'erreur OAuth (401) :
{
"error": "invalid_client",
"error_description": "Invalid client credentials"
}
Bonnes pratiques de sécurité
- Ne validez jamais votre
client_secretdans le contrôle de code source - Stocker les informations d'identification dans des variables d'environnement (
DIFFHOOK_CLIENT_ID,DIFFHOOK_CLIENT_SECRET) - Les jetons expirent après 24 heures : intégrez une réauthentification automatique dans votre intégration
- Faites pivoter les clés immédiatement en cas de fuite : révoquez l'ancienne clé dans Paramètres, générez-en une nouvelle.
Rotation des clés
Pour effectuer une rotation sans temps d'arrêt :
- Générez une nouvelle clé dans Paramètres → Clés API
- Demandez un jeton avec les nouvelles informations d'identification et déployez votre application avec celui-ci
- Révoquez l'ancienne clé une fois le trafic entièrement transféré