Passer au contenu principal
Pour obtenir les meilleurs résultats lors du développement de flux d’événements, Auth0 recommande de suivre les bonnes pratiques ci-dessous. Ces directives peuvent contribuer à réduire les obstacles, à accroître l’efficacité et à offrir une expérience événementielle de premier plan.

Utiliser des files d’attente asynchrones pour traiter les événements

À la réception d’un événement, répondez avec un code HTTP 2XX OK (p. ex., 200OK, 202 Accepted, 204 No Content) pour indiquer que l’événement a bien été livré. Sans cette réponse, Auth0 considère la livraison de l’événement comme un échec et effectuera de nouvelles tentatives conformément au comportement décrit dans Comportement du système lors d’échecs de livraison d’événements. Pour éviter les problèmes de mise à l’échelle, configurez votre gestionnaire afin de traiter les événements entrants au moyen d’une file d’attente asynchrone. Si vous traitez les événements de façon synchrone, toute hausse importante des livraisons de webhooks (par exemple, au début du mois, lorsque tous les abonnements sont renouvelés) peut surcharger les hôtes de vos points de terminaison. Les files d’attente asynchrones vous permettent de traiter les événements simultanés à un rythme que votre système peut prendre en charge.

Ignorer les événements en double

Les points de terminaison de webhook peuvent parfois recevoir le même événement plus d’une fois. Pour éviter de recevoir des événements en double, consignez les ID des événements que vous avez déjà traités.

Gérer les événements reçus dans le désordre

Auth0 ne garantit pas que les événements sont livrés dans le même ordre que celui dans lequel ils sont générés. Par exemple, lorsqu’un utilisateur est créé puis immédiatement mis à jour afin qu’un autre utilisateur lui soit lié, vous pourriez recevoir :
  • user.updated (for User 1)
  • user.created (for User 1)
  • user.deleted (for User 2)
  • user.updated (for User 2)
Pour éviter d’écraser vos données avec des informations obsolètes, comparez l’horodatage des données du webhook entrant à l’horodatage des données dans votre système. Chaque data.object du payload comprend un champ created_at et un champ updated_at.

Écouter des types d’événements précis

Configurez vos points de terminaison de webhook pour recevoir uniquement les types d’événements requis par votre intégration. Écouter des événements supplémentaires (ou tous les événements) surcharge inutilement votre serveur et n’est pas recommandé. Vous pouvez modifier les événements qu’un point de terminaison de webhook reçoit en mettant à jour les flux d’événements.

Comportement du système en cas d’échec de livraison d’événements

À l’heure actuelle, Auth0 n’autorise que quatre tentatives au total, y compris la tentative initiale et trois nouvelles tentatives avec délai exponentiel (1 s, 2 s, 4 s). Si vous recevez un code 4XX, l’événement échoue immédiatement, sans nouvelle tentative, car il est peu probable qu’un nouvel essai modifie la réponse. Si votre point de terminaison ne répond toujours pas correctement après ce délai, l’événement est marqué comme ayant échoué, et Auth0 ne tentera plus de l’envoyer. Pour en savoir plus sur les événements en échec, consultez Tests, observabilité et récupération après échec du flux d’événements.

Désactiver les flux d’événements défaillants

Les flux d’événements sont automatiquement désactivés dans les scénarios suivants :
  • Auth0 reçoit 500 échecs consécutifs (c.-à-d. tout code autre qu’un 2XX).
  • Le flux d’événements atteint un total de 5000 livraisons échouées.
  • Auth0 reçoit trois échecs consécutifs de tentative de livraison (c.-à-d. tout code autre qu’un 2XX).
    • Si vous souhaitez autoriser un plus grand nombre d’échecs de tentative de livraison, soumettez un ticket d’assistance en précisant le nombre d’échecs que vous souhaitez autoriser, et Auth0 examinera votre demande.

En savoir plus