Passer au contenu principal
Ce contenu décrit la recherche d’utilisateurs actuelle d’Auth0, version 3.
Lorsque vous recherchez des utilisateurs, vous pouvez créer des requêtes à l’aide de la syntaxe de requête Lucene pour affiner votre recherche. La chaîne de requête est analysée en une série de termes et d’opérateurs :
  • Un terme peut être un seul mot, comme jane ou smith.
  • Un terme peut être une expression entourée de guillemets doubles ("green apple"), qui correspondra à tous les mots de l’expression dans le même ordre.
  • Un terme sans nom de champ ne correspondra pas au texte des champs de métadonnées utilisateur.
  • Plusieurs termes peuvent être regroupés entre parenthèses pour former des sous-requêtes.
  • Les valeurs de recherche des champs utilisateur normalisés (email, name, given_name, family_name et nickname) ne sont pas sensibles à la casse. Tous les autres champs (y compris tous les champs app_metadata/user_metadata) sont sensibles à la casse.
  • Les opérateurs (AND, OR, NOT) fonctionnent sur tous les champs utilisateur normalisés et les champs de métadonnées de premier niveau.
  • Les opérateurs doivent toujours être en majuscules.

Champs interrogeables

Vous pouvez rechercher des utilisateurs à l’aide de tous les champs normalisés du profil utilisateur ainsi que des champs ci-dessous :
Champ de rechercheType de donnéesDescription
phone_numbertexteLe numéro de téléphone de l’utilisateur. Valide uniquement pour les utilisateurs ayant une connexion SMS.
phone_verifiedbooléenLa valeur true/false indique si le numéro de téléphone de l’utilisateur a été vérifié. Valide uniquement pour les utilisateurs ayant une connexion SMS.
logins_countentierLe nombre de fois où l’utilisateur s’est connecté. Si un utilisateur est bloqué et se connecte, la session bloquée est comptabilisée dans logins_count et met à jour la valeur de last_login.
created_atdate heureL’horodatage indiquant quand le profil utilisateur a été créé pour la première fois.
updated_atdate heureL’horodatage indiquant quand le profil de l’utilisateur a été mis à jour ou modifié pour la dernière fois.
last_logindate heureL’horodatage de la dernière connexion de l’utilisateur. Si cette propriété est évaluée dans une Rule à l’aide de l’objet user, la valeur sera associée à la connexion qui a déclenché la règle (puisque les règles s’exécutent après la connexion proprement dite).
last_iptexte (adresse IP valide)L’adresse IP associée à la dernière connexion de l’utilisateur.
blockedbooléenLa valeur true ou false indique si l’utilisateur a été bloqué. Remarque : true renvoie uniquement les utilisateurs bloqués via le tableau de bord d’administration et la Management API ; il ne renvoie pas les utilisateurs bloqués par la détection d’anomalies par force brute.
email.domaintexteLa partie domaine du courriel de l’utilisateur.
organization_idtexte (id d’organisation valide)L’organisation dont l’utilisateur est membre
Les champs de métadonnées peuvent être utilisés avec :
  • booléen
  • numérique : entier ou double
  • texte
  • objets : pour rechercher une valeur scalaire imbriquée dans un autre objet, utilisez le chemin du champ. Par exemple, app_metadata.subscription.plan:"gold"
  • tableaux : pour rechercher des champs dans des objets imbriqués dans des tableaux, utilisez le chemin du champ et ignorez le niveau du tableau. Par exemple, user_metadata.addresses.city:"Paris"
Les champs de métadonnées qui contiennent un tableau vide, un objet vide ou une valeur null ne sont pas indexés et ne peuvent pas faire l’objet d’une recherche. Les recherches par plage et avec caractères génériques ne sont pas prises en charge pour les champs user_metadata.

Correspondance exacte

Pour trouver des correspondances exactes, utilisez des guillemets doubles : name:"jane smith". Par exemple, pour trouver des utilisateurs dont le nom est jane smith, utilisez q=name:"jane smith" :

Caractères génériques

Les recherches avec caractères génériques peuvent être effectuées sur des termes en utilisant l’astérisque (*) pour remplacer zéro ou plusieurs caractères. Les recherches avec caractères génériques ne sont pas prises en charge pour les champs user_metadata.

Exemples

  • name:john* renvoie tous les utilisateurs dont le nom commence par john.
  • name:j* renvoie tous les utilisateurs dont le nom commence par j.
  • q=name:john* renvoie tous les utilisateurs dont le nom commence par john.
  • Pour la correspondance par suffixe, les littéraux doivent contenir au moins 3 caractères. Par exemple, name:*usa est autorisé, mais name:*sa ne l’est pas.

Plages

Vous pouvez utiliser des plages dans vos requêtes de recherche d’utilisateurs. Les recherches par plage ne sont pas prises en charge pour les champs de métadonnées utilisateur.
  • Pour les plages inclusives, utilisez des crochets : [min TO max].
  • Pour les plages exclusives, utilisez des accolades : {min TO max}.
  • Les accolades et les crochets peuvent être combinés dans une même expression de plage : logins_count:[100 TO 200}.
  • Utilisez des plages avec des caractères génériques. Par exemple, pour trouver tous les utilisateurs ayant ouvert une session plus de 100 fois, utilisez q=logins_count:{100 TO *].

Exemples d’attributs de profil interrogeables

Lorsque vous recherchez des utilisateurs dans le d’Auth0, vous pouvez filtrer les utilisateurs selon user_metadata ou app_metadata. Pour ce faire, vous pouvez utiliser la syntaxe de recherche Lucene avec le paramètre q. Comme le point de terminaison lister ou rechercher des utilisateurs du Management API d’Auth0 est limité à 1000 résultats (10 pages de 100 enregistrements), le filtrage est un moyen utile de s’assurer que les résultats les plus pertinents sont renvoyés. Voici un exemple du user_metadata d’un profil utilisateur :
{
  "favorite_color": "blue",
  "approved": false,
  "preferredLanguage": "en",
  "preferences": {
    "fontSize": 13
  },
  "addresses":{
    "city":["Paris","Seattle"]
  }
}

Filtrer les attributs des métadonnées

Pour renvoyer une valeur de user_metadata, mettez à jour la requête q en y ajoutant un filtre sur l’attribut. Pour les valeurs de user_metadata, vous pouvez interroger directement le profil : q: _exists_:user_metadata.fav_color Cette requête renvoie tous les profils d’utilisateur comportant l’attribut fav_color dans user_metadata.

Filtrer les attributs et les valeurs des objets imbriqués dans les métadonnées

Vous pouvez aussi effectuer une recherche dans les objets imbriqués de user_metadata : q: _exists_:user_metadata.preferences.fontSize Cette requête interroge tous les profils d’utilisateur pour lesquels preferences.fontSize est configuré dans user_metadata. Pour rechercher les valeurs d’un objet imbriqué à partir d’un autre objet, consultez la requête ci-dessous : q: user_metadata.preferences.fontSize:13 Cette requête renvoie tous les profils d’utilisateur dont l’attribut fontSize a la valeur 13.

Filtrer les valeurs de tableaux imbriqués dans les métadonnées

Vous pouvez utiliser la requête ci-dessous pour rechercher des champs dans des tableaux imbriqués : q: user_metadata.addresses.city:"Seattle" Cette requête renvoie tous les profils utilisateur dont les attributs address.city dans user_metadata ont la valeur Seattle.

En savoir plus