Ce contenu décrit la recherche d’utilisateurs actuelle d’Auth0, version 3.
- Un terme peut être un seul mot, comme
janeousmith. - 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_nameetnickname) ne sont pas sensibles à la casse. Tous les autres champs (y compris tous les champsapp_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
| Champ de recherche | Type de données | Description |
|---|---|---|
phone_number | texte | Le numéro de téléphone de l’utilisateur. Valide uniquement pour les utilisateurs ayant une connexion SMS. |
phone_verified | booléen | La 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_count | entier | Le 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_at | date heure | L’horodatage indiquant quand le profil utilisateur a été créé pour la première fois. |
updated_at | date heure | L’horodatage indiquant quand le profil de l’utilisateur a été mis à jour ou modifié pour la dernière fois. |
last_login | date heure | L’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_ip | texte (adresse IP valide) | L’adresse IP associée à la dernière connexion de l’utilisateur. |
blocked | booléen | La 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.domain | texte | La partie domaine du courriel de l’utilisateur. |
organization_id | texte (id d’organisation valide) | L’organisation dont l’utilisateur est membre |
- 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"
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
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
*) 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 parjohn.name:j*renvoie tous les utilisateurs dont le nom commence parj.q=name:john*renvoie tous les utilisateurs dont le nom commence parjohn.- Pour la correspondance par suffixe, les littéraux doivent contenir au moins 3 caractères. Par exemple,
name:*usaest autorisé, maisname:*sane l’est pas.
Plages
- 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
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 :
Filtrer les attributs des métadonnées
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
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
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.