Skip to main content
La date de fin de vie (EOL) de Rules et Hooks est fixée au 18 novembre 2026, et ils ne sont plus disponibles pour les nouveaux tenants créés à compter du 16 octobre 2023. Les tenants existants ayant des Hooks actifs conserveront l’accès au produit Hooks jusqu’à la fin de vie.Nous vous recommandons fortement d’utiliser Actions pour étendre Auth0. Avec Actions, vous avez accès à de riches informations de typage, à de la documentation intégrée et à des packages npm publics, et vous pouvez connecter des intégrations externes qui améliorent votre expérience globale en matière d’extensibilité. Pour en savoir plus sur ce qu’offre Actions, consultez Comprendre le fonctionnement des Auth0 Actions.Pour vous aider dans votre migration, nous offrons des guides qui vous aideront à passer de Rules à Actions et à passer de Hooks à Actions. Nous avons aussi une page dédiée, Move to Actions, qui présente des comparaisons de fonctionnalités, une démo d’Actions et d’autres ressources pour vous accompagner dans votre migration.Pour en savoir plus sur la dépréciation de Rules et Hooks, consultez notre billet de blogue : Preparing for Rules and Hooks End of Life.
Comme nous prévoyons retirer les fonctions Rules et Hooks en 2026, vous ne devriez créer de nouvelles Rules ou de nouveaux Hooks que dans votre environnement de développement, et uniquement pour tester la migration vers Actions.Pour savoir comment migrer vos Rules vers Actions, consultez Passer de Rules à Actions. Pour savoir comment migrer vos Hooks vers Actions, consultez Passer de Hooks à Actions.
Vous pouvez créer vos propres Rule(s) pour répondre à vos besoins fonctionnels précis. Vous pouvez modifier un modèle de Rule existant ou choisir de partir de zéro à l’aide de l’un de nos exemples. Auth0 fournit un certain nombre de Rules et de modèles de Rule pour vous aider à atteindre vos objectif(s). Pour voir la liste, consultez notre dépôt de Rules sur GitHub.

Fonctionnement des Rule

Les Rule sont des fonctions JavaScript qui s’exécutent lorsqu’un utilisateur s’authentifie auprès de votre application. Elles s’exécutent une fois le processus d’authentification terminé, et vous pouvez les utiliser pour personnaliser et étendre les capacités d’Auth0. Pour des raisons de sécurité, le code de vos Rule s’exécute de façon isolée de celui des autres tenants Auth0 dans un bac à sable. Les Rule s’exécutent aussi pendant le flux de renouvellement du jeton. Pour en savoir plus, consultez Refresh Tokens. Dans Auth0, le flux de transaction d’authentification fonctionne comme suit lorsque vous utilisez des Rule :
Schéma des Rule dans le flux d’authentification
  1. Une application lance une requête d’authentification vers Auth0.
  2. Auth0 achemine la requête vers un fournisseur d’identité au moyen d’une connexion configurée.
  3. L’utilisateur s’authentifie avec succès.
  4. Le jeton ID ou le jeton d’accès passe par le pipeline des Rule, puis est envoyé à l’application.

Prérequis

Si vous comptez utiliser des variables globales dans votre rule, assurez-vous d’abord de configurer les variables de vos rules. Pour en savoir plus, consultez Configurer les variables globales pour Rules.

Utiliser le Dashboard

  1. Accédez à Dashboard > Auth Pipeline > Rules et cliquez sur Create.
    Dashboard - Auth Pipeline - Rules
  2. Sélectionnez un modèle de Rule.
    Dashboard - Auth Pipeline - Rules - Template
  3. Donnez un nom à la rule, modifiez le script selon vos besoins, puis cliquez sur Save changes.
    Dashboard - Auth Pipeline - Rules - Edit Rule

Utiliser la Management API

Faites une requête POST à l’endpoint Create Rule. Assurez-vous de remplacer les valeurs de l’espace réservé MGMT_API_ACCESS_TOKEN, RULE_NAME, RULE_SCRIPT, RULE_ORDER et RULE_ENABLED par votre , le nom de la Rule, le script de la Rule, le numéro d’ordre de la Rule et la valeur d’activation de la Rule, respectivement.
Nous exposons des adresses IPv6 dans nos endpoints publics (p. ex., travel0.us.auth0.com). Si une request provient d’une machine qui prend en charge IPv6, la propriété context.request.ip contiendra une adresse IPv6. Si vous manipulez manuellement des adresses IP, nous vous suggérons d’utiliser la library ipaddr.js@1.9.0.

Gérer les limites de débit

Pour les règles qui appellent les API Auth0, vous devriez toujours gérer les limites de débit en vérifiant l’en-tête X-RateLimit-Remaining et en prenant les mesures appropriées lorsque la valeur retournée approche de 0. Vous devriez aussi ajouter une logique pour gérer les cas où vous dépassez les limites de débit établies et recevez le code d’état HTTP 429 (Trop de requêtes) ; dans ce cas, si une nouvelle tentative est nécessaire, il vaut mieux prévoir un délai d’attente progressif afin d’éviter d’entrer dans une boucle infinie de tentatives. Pour en savoir plus sur les limites de débit, consultez la politique sur les limites de débit des API Auth0.

Modules disponibles

Les Rules s’exécutent dans un bac à sable JavaScript configuré pour une version précise de Node.js. Le bac à sable est compatible avec toutes les versions du langage JavaScript (et la syntaxe associée) prises en charge par la version de Node.js configurée, ainsi qu’avec un grand nombre de modules Node.js. Pour obtenir la liste des modules de bac à sable pris en charge, consultez Can I require: Auth0 Extensibility.

En savoir plus