> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 委任管理 Extension で Filter Hook を使用する方法について説明します。

# 委任管理: Filter Hook

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

<div id="hook-contract">
  ## Hook コントラクト
</div>

* **ctx**: コンテキストオブジェクト。
* **callback(error, query)**: エラー、またはユーザーのフィルタリング時に使用する Lucene クエリを返せるコールバックです。拡張機能はこのクエリを、<Tooltip tip="Management API: お客様が管理タスクを実行するための製品です。" cta="用語集を表示" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> の [**Get Users** エンドポイント](https://auth0.com/docs/api/management/v2#!/Users/get_users) に送信します。

Lucene クエリの詳細については、[User Search Query Syntax](/ja/docs/manage-users/user-search/user-search-query-syntax) を参照してください。

<div id="sample-use">
  ### 使用例
</div>

Kelly が Finance 部門を管理している場合、Kelly に表示されるのは同じ Finance 部門に属するユーザーのみにする必要があります。この例では、現在のユーザーとその部門 (それぞれ Kelly と Finance 部門) に基づいて、ユーザーを絞り込みます。

```javascript lines theme={null}
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 + '"');
}
```

<div id="search-engine-override">
  ### 検索エンジンの上書き
</div>

レスポンスで使用する検索エンジンを指定すると、既定の検索エンジンを上書きできます。

```javascript lines theme={null}
// luceneクエリを返す。
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });
```

<div id="notes">
  ## 注記
</div>

絞り込みに使用する語句には、シングルクォート、ダブルクォート、その他の特殊文字 (**+** や **-** など) を使用しないでください。Lucene クエリで問題が発生する可能性があります。

OR、NOT、AND などの演算子を複数使用する場合は、どの箇所でどの演算子が適用されるかを明確にするため、それらの検索パラメーターを丸かっこ \[`()`] で囲んでください。

この Hook を設定しない場合、検索では**すべてのユーザー**が返されます。

<div id="learn-more">
  ## 詳しくはこちら
</div>

* [委任管理: Access Hook](/ja/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-access-hook)
* [委任管理: Memberships Query Hook](/ja/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-memberships-query-hook)
* [委任管理: Settings Query Hook](/ja/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-settings-query-hook)
* [委任管理: Write Hook](/ja/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-write-hook)
