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

# アプリケーション (クライアント) メタデータを設定する方法

> アプリケーション メタデータ（client_metadata と clientMetadata）を設定、更新、削除する方法を説明します。

クライアント メタデータは、アプリケーション (クライアント) のプロパティの一部として保存される任意のフィールドです。各アプリケーションに設定できるカスタマイズ可能なキーと値で構成されます。

たとえば、アプリケーションのホームページ URL を保存できます (これは Auth0 がアプリケーション設定でデフォルトでは提供していないフィールドです) 。

<h2 id="where-to-store-client-secrets">
  クライアントシークレットの保存場所
</h2>

シークレットをどこに保存するかは、そのシークレットの適用範囲によって異なります。

* アプリケーションごとに 1 つだけシークレットが必要ですか？ その場合は `client_metadata` が適しています。
* システム全体で同じシークレットですか (つまり、すべてまたは多数のアプリケーションで共通) ？ その場合は、ルールの設定値のほうが適しているかもしれません。
* ユーザーごとに異なるシークレットですか？ その場合は、ユーザープロファイルの `app_metadata` に保存するほうが適しているかもしれません。

ID トークン内のクレームは暗号化されないため、使用するフローによっては、ユーザーがトークンを取得して内容を確認できる可能性があります。そのため、Auth0 はこの方法でシークレットを保存することを**推奨していません**。

<h2 id="configure-application-metadata">
  アプリケーションメタデータを構成する
</h2>

アプリケーションメタデータは、Auth0 Dashboardまたは<Tooltip tip="Management API：顧客が管理タスクを実行できるようにする製品です。" cta="用語集を表示" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip>を使用して設定できます。

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications)に移動して、アプリケーションを選択します。

    2. \*\*［Settings (設定) ］**タブでページの下部までスクロールし、**［Advanced Settings (詳細設定) ］\*\*を選択してセクションを展開します。

           <Frame>
             <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/cdy7uua7fh8z/7GWHyQloNihda3fuYiVEWQ/b3cced7c53690e6f3cbf7b2e23ff8646/App_Metadata_-_English.png" alt="Dashboard Applications Applications Settings Tab Advanced Settings Application Metadata Tab" />
           </Frame>

    3. \*\*［Application Metadata (アプリケーションメタデータ) ］\*\*タブでは、次の操作を行えます。

       * キーと値を入力して\*\*［+ Add (＋追加) ］\*\*を選択すると、メタデータを追加できます。
       * 更新したいキーと新しい値を入力して\*\*［+ Add (＋追加) ］\*\*を選択すると、メタデータを更新できます。
       * キーと値のペアの横にあるゴミ箱アイコンを選択すると、メタデータを削除できます。

    4. 完了したら、\*\*［Save Changes (変更を保存) ］\*\*を選択します。
  </Tab>

  <Tab title="Management API">
    `POST /api/v2/` applicationsエンドポイントで新しいアプリケーションを作成するときに`clientMetadata`オブジェクトを含めると、初期メタデータを設定できます。

    既存のアプリケーションのクライアントメタデータは、[`PATCH /api/v2/clients/{id}`](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id)エンドポイントで設定できます。その際は、`clientMetadata property`を含むアプリケーションオブジェクトを渡します。このプロパティには、変更したいメタデータを含むオブジェクトを値として指定します。

    たとえば、次の本文で`PATCH /api/v2/client/myclientid123`を呼び出すとします。

    ```json theme={null}
    { "client_metadata": { "example_key": "example_value" } }
    ```

    すると、メタデータは次のようになります。

    ```json Example metadata theme={null}
    {
      "name": "example_client",
      "client_metadata": {
        "example_key": "example_value"
      }
      ...
    }
    ```

    既存のメタデータの値を更新するには、同様の`PATCH`呼び出しで、キーに更新後の値を指定します。前の例に続けて、次の本文で`PATCH`を呼び出すとします。

    ```json theme={null}
    { "client_metadata": { "example_key": "updated_value" } }
    ```

    すると、メタデータは次のようになります。

    ```json Updated metadata theme={null}
    {
      "name": "example_client",
      "client_metadata": {
        "example_key": "updated_value"
      }
      ...
    }
    ```

    クライアントメタデータを削除するには、同様の`PATCH`呼び出しで、キーの値に`null`を指定します。
  </Tab>
</Tabs>

<h2 id="view-application-metadata">
  アプリケーション メタデータを表示する
</h2>

メタデータは `Client` オブジェクトでは `client_metadata`、ルールでは `context.clientMetadata` として参照できます。

アプリケーション メタデータには [Actions](/docs/ja-jp/customize/actions) からアクセスできます。

```js theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (event.client.metadata.SKIP_VERIFICATION === "yes"){
    return;
  }
  // ... このActionを続ける
}
```

... または [ルール](/docs/ja-jp/customize/rules):

```javascript theme={null}
function applicationMetadataExample (user, context, callback){
  context.clientMetadata = context.clientMetadata || {};
  if (context.clientMetadata.SKIP_VERIFICATION === "yes"){
    return callback();
  }
  // ... このRuleの処理を続ける
}
```

クライアント メタデータは、Management API の `GET /api/v2/clients` および `GET /api/v2/client/{id}` エンドポイントのレスポンスにも含まれます。

<h2 id="limits">
  制限事項
</h2>

* `client_metadata` フィールドに設定できるキーは最大10個です。

* `client_metadata` のキーと値は、それぞれ最大255文字までです。

* `client_metadata` のキーと値には、UTF-8の特殊文字を使用できません。
