Bonnes pratiques en matière de recherche d’utilisateurs

Voici quelques bonnes pratiques pour la recherche d’utilisateurs :

  • Un jeton est nécessaire pour effectuer des requêtes auprès de Management API. Pour en savoir plus, lisez Jetons d’accès à Management API.

  • Pour effectuer des recherches d’utilisateurs, la permission read:users est requise.

  • Pour obtenir les résultats de recherche les plus récents, utilisez un point de terminaison immédiatement cohérent pendant les processus d’authentification, comme Obtenir des utilisateurs par identifiant et Obtenir des utilisateurs par courriel. Les recherches effectuées à l’aide de ces points de terminaison reflètent les résultats de toutes les opérations d’écriture réussies, y compris celles qui ont eu lieu peu de temps avant votre requête.

  • Utilisez un schéma connu pour les métadonnées :

    • Utilisez des types de données cohérents pour les propriétés.

    • Évitez les noms de propriétés dynamiques.

    • Évitez les schémas de grande taille et les structures profondes.

    • Évitez de stocker des données non nécessaires à des fins d’authentification et d’autorisation.

  • Les requêtes de recherche sont interrompues (code d’état HTTP 503) si elles ne sont pas terminées en deux secondes ou moins. Les requêtes de plus longue durée indiquent qu’il s’agit d’une requête coûteuse ou qu’une erreur s’est glissée dans la requête et empêche de la terminer rapidement.

  • Les requêtes de recherche avec attributs définis par les utilisateurs dans app_metadata et user_metadata peuvent connaître des dépassements de temps. Nous vous conseillons de ne pas utiliser Énumérer ou chercher des utilisateurs pour les opérations critiques.

  • N’utilisez pas de critères de recherche qui renvoient un grand nombre de données (plus de 1 000 résultats).

  • N’utilisez pas de requêtes d’existence (par ex., « trouvez-moi tous les utilisateurs avec une propriété, indépendamment de sa valeur »).

  • N’interrogez pas les API de recherche.

  • N’effectuez pas de requêtes de recherche d’utilisateurs dans les points d’extension du flux de connexion, comme les Règles ou les Actions post-login.

  • N’utilisez pas de champs de métadonnées trop volumineux (ne dépassez pas 2 Ko).

  • L’utilisation de caractères génériques dans les recherches peut affecter les performances. Dans certains cas, les recherches par caractères génériques sur des ensembles de données volumineux peuvent entraîner des erreurs de délai d’expiration. Nous vous déconseillons également d’utiliser les caractères génériques en préfixe du terme de recherche. En revanche, les utiliser en suffixe permet d’obtenir de meilleurs résultats.

  • Ajoutez un caractère d’échappement aux espaces afin d’améliorer les performances (p. ex., q=name:Pierre Untel doit être saisi q=name:Pierre\ Untel).