Saltar al contenido principal
Este contenido describe la búsqueda de usuarios actual de Auth0, versión 3.
Al buscar usuarios, puede crear consultas mediante la sintaxis de consulta de Lucene para refinar la búsqueda. La cadena de consulta se analiza en una serie de términos y operadores:
  • Un término puede ser una sola palabra, como jane o smith.
  • 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_name y nickname) no distinguen entre mayúsculas y minúsculas. Todos los demás campos (incluidos todos los campos app_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

Puede buscar usuarios usando todos los campos del perfil de usuario normalizado y los campos siguientes:
Campo de búsquedaTipo de datosDescripción
phone_numbertextEl número de teléfono del usuario. Solo es válido para usuarios con conexiones SMS.
phone_verifiedbooleanEl valor true/false indica si se ha verificado el número de teléfono del usuario. Solo es válido para usuarios con conexiones SMS.
logins_countintegerEl número de veces que el usuario ha iniciado sesión. Si un usuario está bloqueado e inicia sesión, la sesión bloqueada se cuenta en logins_count y actualiza el valor de last_login.
created_atdate timeLa fecha y hora en que se creó por primera vez el perfil de usuario.
updated_atdate timeLa fecha y hora en que se actualizó o modificó por última vez el perfil del usuario.
last_logindate timeLa fecha y hora del último inicio de sesión del usuario. Si se accede a esta propiedad desde una Rule mediante el objeto user, el valor se asociará con el inicio de sesión que desencadenó la regla (ya que las reglas se ejecutan después del inicio de sesión real).
last_iptext (dirección IP válida)La dirección IP asociada al último inicio de sesión del usuario.
blockedbooleanEl valor true o false indica si el usuario ha sido bloqueado. Nota: true solo devuelve usuarios bloqueados mediante el Dashboard de administración y la Management API; no devuelve usuarios bloqueados por la detección de anomalías de fuerza bruta.
email.domaintextLa parte del dominio del correo electrónico del usuario.
organization_idtext (id de organización válido)La organización de la que el usuario es miembro
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"
Los campos de metadatos que contienen un array vacío, un objeto vacío o un valor 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

Para encontrar coincidencias exactas, use comillas dobles: name:"jane smith". Por ejemplo, para encontrar usuarios con el nombre jane smith, use q=name:"jane smith":

Comodines

Se pueden realizar búsquedas con comodines en términos usando el carácter asterisco (*) 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 por john.
  • name:j* devuelve todos los usuarios cuyo nombre comienza por j.
  • q=name:john* devuelve todos los usuarios cuyos nombres comienzan por john.
  • Para la coincidencia por sufijo, los literales deben tener 3 caracteres o más. Por ejemplo, name:*usa está permitido, pero name:*sa no.

Rangos

Puedes usar rangos en tus consultas de búsqueda de usuarios. Las búsquedas por rango no están disponibles en los campos de metadatos del usuario.
  • 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

Al buscar usuarios en la de Auth0, puede filtrarlos por 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:
{
  "favorite_color": "blue",
  "approved": false,
  "preferredLanguage": "en",
  "preferences": {
    "fontSize": 13
  },
  "addresses":{
    "city":["Paris","Seattle"]
  }
}

Filtrar atributos de metadatos

Para devolver un valor de 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

También puede buscar en objetos anidados dentro de 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

Puede usar la siguiente consulta para buscar campos en arrays anidados: 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.

Más información