Passer au contenu principal
Par défaut, les utilisateurs ayant le rôle Delegated Admin - User voient tous les utilisateurs associés au compte Auth0. Toutefois, vous pouvez filtrer les données auxquelles ils ont accès à l’aide du hook de filtrage.

Contrat du hook

  • ctx : objet de contexte.
  • callback(error, query) : fonction de rappel à laquelle vous pouvez renvoyer une erreur ou la requête Lucene utilisée pour filtrer les utilisateurs. L’extension enverra cette requête au point de terminaison Get Users de la .
Pour en savoir plus sur la requête Lucene, consultez User Search Query Syntax.

Exemple d’utilisation

Si Kelly gère le service des finances, elle ne devrait voir que les utilisateurs qui font également partie du service des finances. Nous filtrerons les utilisateurs en fonction du service de l’utilisateur actuel (qui, dans ce cas, est le service des finances) et de l’utilisateur actuel lui-même (Kelly).
function(ctx, callback) {
  // Récupérer le département à partir des métadonnées de l'utilisateur actuel.
  var department = ctx.request.user.app_metadata && ctx.request.user.app_metadata.department;
  if (!department || !department.length) {
    return callback(new Error('The current user is not part of any department.'));
  }

  // Le département TI peut voir tous les utilisateurs.
  if (department === 'IT') {
    return callback();
  }

  // Retourner la requête Lucene.
  return callback(null, 'app_metadata.department:"' + department + '"');
}

Remplacer le moteur de recherche

Vous pouvez remplacer le moteur de recherche par défaut en indiquant votre choix dans la réponse.
// Retourner la requête Lucene.
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });

Remarques

N’utilisez pas de guillemets simples, de guillemets doubles ni d’autres caractères spéciaux (comme + ou -) dans les termes que vous voulez utiliser pour le filtrage. Cela peut entraîner des problèmes avec la requête Lucene. Si vous utilisez plusieurs opérateurs comme OR, NOT ou AND, placez ces paramètres de recherche entre parenthèses [()] afin de délimiter la portée de chaque opérateur. Si vous ne configurez pas ce Hook, la recherche renvoie tous les utilisateurs.

En savoir plus