Skip to main content

Prérequis

Pour utiliser correlation_id, vous devez disposer de ce qui suit :
  • Universal Login d’Auth0 configuré : l’ID de corrélation est disponible dans les flux Universal Login.
  • Une application capable de générer des identifiants uniques : votre application doit pouvoir générer des UUID ou des id de transaction. (Exemple : txn_12345_xyz, des id de session ou des id de commande)
Si correlation_id n’est pas disponible dans vos requêtes d’autorisation, cette fonctionnalité n’est peut-être pas activée pour votre locataire.
Auth0 permet de retracer les transactions d’authentification au moyen d’un ID de corrélation. Cette capacité de suivi peut réduire le délai de réponse de l’assistance et vous offrir un suivi dans plusieurs systèmes en aval des événements d’authentification. Le paramètre correlation_id ajoute à l’URL d’autorisation un identifiant unique généré par votre application. Cet id est enregistré automatiquement, ce qui vous permet de suivre et de filtrer les événements dans les journaux du locataire Auth0. L’ID de corrélation est conservé lors des événements suivants :
  • Inscription
  • Connexion
  • Inscription à l’authentification multifacteur (MFA) et vérifications
  • Réinitialisation du mot de passe
Vous pouvez utiliser l’ID de corrélation avec Universal Login, les modèles de page Universal Login, les modèles de courriel, les modèles SMS, les pages d’erreur personnalisées, Flows et les Actions.

Configurer l’ID de corrélation

Les valeurs de correlation_id sont soumises aux contraintes suivantes :
  • Caractères autorisés : caractères alphanumériques et caractères spéciaux correspondant à /^[-\w.*~@+/:]{1,64}$/.
  • Longueur maximale : 64 caractères
  • Ne doit pas contenir de renseignements personnels identifiables (PII)
Passez le paramètre correlation_id dans l’objet authorizationParams pour ajouter l’ID unique à l’URL d’autorisation, comme dans l’exemple suivant :
const { loginWithRedirect } = useAuth0();
loginWithRedirect({
  authorizationParams: {
    // Ajoute "&correlation_id=..." à l'URL à des fins de suivi
    correlation_id: "YOUR_CORRELATION_ID"
  }
});

Universal Login

Tous les flux Universal Login prennent en charge correlation_id. Une fois la valeur de l’ID de corrélation transmise au point de terminaison /authorize, les événements d’authentification génèrent des journaux du locataire contenant l’ID de corrélation, que vous pouvez utiliser pour le suivi. Utilisez le SDK de la Management API pour récupérer et filtrer les événements récents afin d’isoler une transaction précise. L’exemple d’appel suivant utilise le SDK de la Management API pour récupérer les événements d’authentification les plus récents. Il applique ensuite un filtrage local pour isoler un événement précis :
// 1. Appeler le Management API (syntaxe SDK v5)
const { data: logs } = await management.logs.list({
  per_page: 100,
  sort: 'date:-1'
});
// 2. Filtrer le tableau côté client pour trouver votre ID
const transactionEvents = logs.filter(log =>
  log.references?.correlation_id === "YOUR_CORRELATION_ID"
);
console.log(`Found ${transactionEvents.length} events for this transaction.`);

Modèle de page de connexion

Si vous personnalisez votre expérience de connexion avec les modèles de page Universal Login, ajoutez correlation_id à votre modèle afin de suivre les événements d’authentification dans le cadre d’une connexion personnalisée. L’exemple suivant montre correlationId: "{{correlation_id}}" ajouté à {%- auth0:widget -%}.
<!-- Exemple : Injection de l'ID dans un script côté client -->
<!-- Remarque : {{ }} est une syntaxe de gabarit Liquid évaluée côté serveur par Auth0, et non des espaces réservés de documentation -->
<script>
  window.addEventListener("load", function () {
    const loginContext = {
      application: "{{application.name}}",
      // Accéder au correlation_id directement via la syntaxe Liquid
      correlationId: "{{correlation_id}}"
    };

    console.log("Tracking Context:", loginContext);
    // Vous pouvez maintenant transmettre loginContext.correlationId à votre outil d'analyse
  });
</script>

Modèles de courriel

Vous pouvez inclure correlation_id dans les modèles de courriel pour faciliter le suivi des événements d’authentification qui déclenchent des notifications par courriel, comme les réinitialisations de mot de passe ou les courriels de vérification. L’exemple suivant montre {{correlation_id}} ajouté au corps d’un modèle de courriel.
<p>If you did not initiate this request, please ignore this email.</p>
<p>Tracking reference: {{correlation_id}}</p>

Modèles SMS

Vous pouvez inclure correlation_id dans les modèles SMS pour suivre les événements d’authentification qui déclenchent des notifications par SMS, comme les demandes MFA. L’exemple suivant montre {{correlation_id}} ajouté à un modèle SMS.
Your verification code is: {{code}}. Ref: {{correlation_id}}

Pages d’erreur personnalisées

Vous pouvez inclure correlation_id dans les Pages d’erreur personnalisées afin d’afficher directement la référence de suivi sur les pages d’erreur, ce qui permet aux utilisateurs de signaler plus facilement les problèmes et à votre équipe d’assistance de retracer la transaction ayant échoué. L’exemple suivant montre {{correlation_id}} ajouté à un modèle de page d’erreur personnalisée.
<h1>{{error | escape}}: {{error_description | escape}}</h1>
<p>Si vous avez besoin d'aide, mentionnez cet ID : {{correlation_id}}</p>

Auth0 Actions

Avec les déclencheurs d’inscription et de connexion d’Auth0 Actions, utilisez l’objet event pour consigner des événements dans des services tiers ou les transmettre à des API en aval. Les objets event suivants prennent en charge correlation_id : L’exemple d’Action Post-login montre comment extraire le correlation_id de l’objet event.
exports.onExecutePostLogin = async (event, api) => {
  console.log('PostLogin Action Start');
  const correlation_id = event.transaction?.correlation_id;
  // Vérifier si correlation_id existe
  if (correlation_id) {
    console.log(`Correlation ID found: ${correlation_id}`);
  } else {
    console.log('No correlation_id found in transaction');
  }
  console.log('PostLogin Action End');
};

Forms

Vous pouvez utiliser l’ID de corrélation dans Forms et Flows. Forms vous permet de personnaliser l’inscription et l’ouverture de session à l’aide d’une logique personnalisée que vous créez dans Flows. Pour utiliser l’ID de corrélation dans Forms et Flows, utilisez l’objet context dans l’éditeur Flows pour ajouter la variable des événements corrélés, {{context.transaction.correlation_id}}, à votre logique. Pour en savoir plus, consultez Variables et fonctions utilitaires.