メインコンテンツへスキップ
既定では、Delegated Admin - User ロールを持つユーザーには、Auth0 アカウントに関連付けられたすべてのユーザーが表示されます。ただし、Filter Hook を使用すると、ユーザーに表示されるデータを絞り込めます。

Hook コントラクト

  • ctx: コンテキストオブジェクト。
  • callback(error, query): エラー、またはユーザーのフィルタリング時に使用する Lucene クエリを返せるコールバックです。拡張機能はこのクエリを、Get Users エンドポイント に送信します。
Lucene クエリの詳細については、User Search Query Syntax を参照してください。

使用例

Kelly が Finance 部門を管理している場合、Kelly に表示されるのは同じ Finance 部門に属するユーザーのみにする必要があります。この例では、現在のユーザーとその部門 (それぞれ Kelly と Finance 部門) に基づいて、ユーザーを絞り込みます。
function(ctx, callback) {
  // 現在のユーザーのメタデータから部署を取得します。
  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.'));
  }

  // IT部門はすべてのユーザーを閲覧できます。
  if (department === 'IT') {
    return callback();
  }

  // Luceneクエリを返します。
  return callback(null, 'app_metadata.department:"' + department + '"');
}

検索エンジンの上書き

レスポンスで使用する検索エンジンを指定すると、既定の検索エンジンを上書きできます。
// luceneクエリを返す。
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });

注記

絞り込みに使用する語句には、シングルクォート、ダブルクォート、その他の特殊文字 (+- など) を使用しないでください。Lucene クエリで問題が発生する可能性があります。 OR、NOT、AND などの演算子を複数使用する場合は、どの箇所でどの演算子が適用されるかを明確にするため、それらの検索パラメーターを丸かっこ [()] で囲んでください。 この Hook を設定しない場合、検索ではすべてのユーザーが返されます。

詳しくはこちら