GET /api/v2/events et reçoit les événements sous la forme d’un flux Server-Sent Events (SSE). Vous contrôlez quand vous connecter, comment reprendre après une déconnexion et à quelle vitesse consommer les événements.
Cette approche est utile lorsque vous devez :
- Traiter les événements à votre propre rythme sans configurer un endpoint de webhook.
- Relire des événements à partir d’un moment précis pour le remplissage rétrospectif ou la récupération.
- Intégrer des systèmes qui privilégient la scrutation plutôt qu’une livraison par envoi.
Fonctionnement de l’API Events
id qui sert d’offset. Si la connexion est interrompue, votre application se reconnecte et fournit le dernier offset reçu. Auth0 reprend la transmission à partir de ce point, de sorte qu’aucun événement n’est perdu.
Le flux SSE comprend les types de messages suivants :
Exemple de flux SSE
Prérequis
-
Un locataire Auth0 avec Events activé. Le nombre de connexions de flux d’événements offertes dépend de votre forfait :
-
Un jeton d’accès de la Management API avec le scope
read:events. Pour en savoir plus, consultez jetons d’accès de la Management API.
Se connecter à l’API Events
curl :
Paramètres de requête
Reprendre après une interruption de connexion
- En-tête
Last-Event-ID— mécanisme standard de reconnexion SSE. La plupart des bibliothèques clientes SSE définissent automatiquement cet en-tête lors de la reconnexion. - Paramètre de requête
from— utilisez-le lorsque votre client ne prend pas en charge l’en-têteLast-Event-ID.
Last-Event-ID prévaut.
Conservez dans un stockage persistant la valeur
id la plus récente de chaque message (y compris les messages offset-only). Si votre application redémarre, utilisez l’offset enregistré pour reprendre la livraison là où vous l’aviez laissée.Gérer les types de messages
Événements réels
event correspond à un type d’événement connu (par exemple, user.created) contiennent le payload complet de l’événement dans le champ data. Analysez le JSON et traitez l’événement selon votre logique d’affaires.
Messages offset-only
offset-only à intervalles réguliers (à la fréquence de heartbeat) pour faire progresser votre position dans le flux. Ces messages ne contiennent aucun payload d’événement. Mettez à jour l’offset enregistré lorsque vous les recevez afin qu’une reconnexion ultérieure ne rejoue pas les événements que vous avez déjà dépassés.
Messages d’erreur
event: error signale une erreur fatale, comme un offset expiré ou un problème côté serveur. Après avoir reçu ce message, le flux se ferme. Votre application doit consigner l’erreur, puis se reconnecter avec l’offset approprié ou un from_timestamp récent.
Heartbeats
: sont des commentaires SSE utilisés comme heartbeats. Elles maintiennent la connexion active via les proxys et les répartiteurs de charge. Aucun traitement n’est nécessaire.
Rotation côté serveur des connexions
eventsource) se reconnectent automatiquement à l’aide de l’en-tête Last-Event-ID, ce qui permet à votre application de reprendre au bon offset sans perdre d’événements.
Si vous créez un client SSE personnalisé, assurez-vous qu’il gère correctement les interruptions de connexion en conservant l’offset le plus récent et en se reconnectant avec celui-ci.
Implémenter un consommateur
Le package npm
eventsource implémente le protocole SSE et gère automatiquement la reconnexion au moyen de l’en-tête Last-Event-ID. Si vous utilisez une autre bibliothèque SSE, assurez-vous qu’elle prend en charge la reconnexion automatique et le transfert de l’offset.