Este contenido describe la búsqueda de usuarios actual de Auth0, versión 3.
- Un término puede ser una sola palabra, como
janeosmith. - Un término puede ser una frase entre comillas dobles (
"green apple"), que coincidirá con todas las palabras de la frase en el mismo orden. - Un término sin nombre de campo no coincidirá con el texto de los campos de metadatos del usuario.
- Se pueden agrupar varios términos entre paréntesis para formar subconsultas.
- Los valores de búsqueda de los campos de usuario normalizados (
email,name,given_name,family_nameynickname) no distinguen entre mayúsculas y minúsculas. Todos los demás campos (incluidos todos los camposapp_metadata/user_metadata) sí distinguen entre mayúsculas y minúsculas. - Los operadores (
AND,OR,NOT) funcionan en todos los campos de usuario normalizados y en los campos raíz de metadatos. - Los operadores siempre deben escribirse en mayúsculas.
Campos de búsqueda
Los campos de metadatos pueden usarse con:
- boolean
- numeric: integer o double
- text
- objects: para buscar un valor escalar anidado dentro de otro objeto, use la ruta del campo. Por ejemplo,
app_metadata.subscription.plan:"gold" - arrays: para buscar campos en objetos anidados dentro de arrays, use la ruta del campo e ignore el nivel del array. Por ejemplo,
user_metadata.addresses.city:"Paris"
null no se indexan y no se pueden buscar.
Las búsquedas por rango y con comodines no están disponibles para los campos user_metadata.
Coincidencia exacta
name:"jane smith".
Por ejemplo, para encontrar usuarios con el nombre jane smith, use q=name:"jane smith":
Comodines
*) para reemplazar cero o más caracteres. Las búsquedas con comodines no están disponibles para los campos user_metadata.
Ejemplos
name:john*devuelve todos los usuarios cuyo nombre comienza porjohn.name:j*devuelve todos los usuarios cuyo nombre comienza porj.q=name:john*devuelve todos los usuarios cuyos nombres comienzan porjohn.- Para la coincidencia por sufijo, los literales deben tener 3 caracteres o más. Por ejemplo,
name:*usaestá permitido, peroname:*sano.
Rangos
- Para rangos inclusivos, usa corchetes:
[min TO max]. - Para rangos exclusivos, usa llaves:
{min TO max}. - Las llaves y los corchetes pueden combinarse en la misma expresión de rango:
logins_count:[100 TO 200}. - Usa rangos en combinación con comodines. Por ejemplo, para encontrar todos los usuarios con más de 100 inicios de sesión, usa
q=logins_count:{100 TO *].
Ejemplos de atributos de perfil que se pueden buscar
user_metadata o app_metadata. Para ello, puede usar la sintaxis de búsqueda de Lucene con el parámetro q.
Dado que el endpoint de Auth0 Management API para enumerar o buscar usuarios está limitado a 1000 resultados (10 páginas de 100 registros), el filtrado es una forma útil de garantizar que se devuelvan los resultados más relevantes.
A continuación se muestra un ejemplo de user_metadata en un perfil de usuario:
Filtrar atributos de metadatos
user_metadata, actualiza la consulta q con un filtro para ese atributo.
En el caso de los valores de user_metadata, puedes consultar el perfil directamente:
q: _exists_:user_metadata.fav_color
Esta consulta devuelve todos los perfiles de usuario que tienen el atributo fav_color en user_metadata.
Filtrar atributos y valores de objetos anidados en los metadatos
user_metadata:
q: _exists_:user_metadata.preferences.fontSize
Esta consulta devuelve todos los perfiles de usuario que tienen preferences.fontSize configurado en user_metadata.
Para buscar los valores de un objeto anidado dentro de otro objeto, revise la siguiente consulta:
q: user_metadata.preferences.fontSize:13
Esta consulta devuelve todos los perfiles de usuario cuyo atributo fontSize tiene el valor 13.
Filtrar valores en arrays anidados de metadatos
q: user_metadata.addresses.city:"Seattle"
Esto devuelve todos los perfiles de usuario que contienen el valor Seattle en los atributos address.city de user_metadata.