Aller au contenu principal
DiffHook/Documentation
Référence APIAuthentification

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 par dh_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_secret dans 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 :

  1. Générez une nouvelle clé dans Paramètres → Clés API
  2. Demandez un jeton avec les nouvelles informations d'identification et déployez votre application avec celui-ci
  3. Révoquez l'ancienne clé une fois le trafic entièrement transféré
DiffHook - Surveillance de sites web