Éviter l’exécution inutile
clientMetadata spécifiques, en particulier lors de la vérification d’une valeur clientMetadata unique, commune à plusieurs applications. L’utilisation de clientMetadata peut également faciliter l’ajout de nouveaux clients (ainsi que la lecture du code des règles), en particulier si vous avez défini un grand nombre d’applications, en réduisant les modifications de code ou les valeurs de configuration nécessaires entre les environnements.
Les métadonnées client d’une application peuvent être définies manuellement via en allant dans Paramètre de l’application > Paramètres avancés > Métadonnées de l’application ou de manière programmatique via l’utilisation du point de terminaison Mettre à jour un point de terminaison client de l’API d’authentification Auth0.
Terminer l’exécution tôt
return afin de quitter la fonction (règle). Pour en savoir plus, lisez Les meilleures pratiques en matière d’exécution des règles.
Réduire les requêtes API
global peut être utilisé pour mettre en cache les informations provenant des requêtes à l’API, lesquelles peuvent ensuite être utilisées dans toutes les règles qui s’exécutent dans le pipeline. Il est préférable d’utiliser cet objet pour stocker des informations plutôt que d’appeler plusieurs fois une API. En outre, l’objet global peut également être utilisé pour mettre en cache d’autres informations entre les règles en cours d’exécution.
Limiter les requêtes aux services payants
- Interdire les inscriptions publiques pour réduire le nombre d’utilisateurs pouvant s’inscrire et déclencher des appels à des services payants.
- Veillez à ce qu’une règle ne soit déclenchée que pour un sous-ensemble autorisé d’utilisateurs ou dans d’autres conditions appropriées. Par exemple, vous pouvez ajouter une logique qui vérifie si un utilisateur possède un domaine de messagerie, un rôle/groupe ou un niveau d’abonnement particulier avant de déclencher la requête au service payant.
Limiter les requêtes à Management API
auth0 (veillez donc à l’utiliser avec parcimonie). Pour en savoir plus, consultez Limites anti-attaques des points de terminaison de Management API.
En outre, l’exécution des fonctions de Management API prend plus ou moins de temps et entraîne donc une latence plus ou moins importante; l’appel au point de terminaison Lister ou chercher des points de terminaison d’utilisateurs de Management API, par exemple, doit être réduit au minimum et n’être effectué qu’en cas d’absolue nécessité, même lorsqu’il est exécuté via l’objet auth0.
Nous avons étendu les propriétés liées à la connexion à l’objet context des règles, de sorte que vous pouvez obtenir des informations sur la connexion à partir de l’objet context au lieu d’avoir besoin d’appeler Management API Auth0. Pour en savoir plus, lisez Propriétés de l’objet contexte dans les règles.
Pour voir cela en action, si vous utilisez le modèle de règle Check if user email domain matches configured domain (Vérifier si le domaine du courriel de l’utilisateur correspond au domaine configuré), vérifiez la dernière version sur Github ou naviguez vers Auth0 Dashboard > Auth Pipeline (Pipeline Auth) > Rules (Règles), et sélectionnez Create (Créer). Remarque : les changements récents ne modifieront pas les fonctionnalités, mais amélioreront les performances des règles qui dépendaient auparavant des appels à Management API.
La suppression des appels à Management API (ainsi que l’appel supplémentaire requis pour obtenir le jeton d’accès approprié) améliorera les performances et la fiabilité du code de votre règle.
Utiliser des délais explicites lors des appels API
Réduit les appels vers Auth0
- Réponses
/.well-known/*en cache : Ces informations ne changent pas fréquemment, vous pouvez donc généralement les mettre en cache pour réduire le nombre de fois où vous devez appeler Auth0. - Envisagez de demander un
id_tokenau lieu d’appeler/userinfopour obtenir des informations sur l’utilisateur. - Réduisez les appels groupés, tels que « bulk delete » ou « bulk unlock ».