> ## 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.

> Auth0 のユーザー、アプリケーション、クライアントのメタデータについて説明します。メタデータを使用して、IDプロバイダー（IdP）に由来しない情報を保存する方法を学びます。

# ユーザープロファイルでのメタデータの仕組みを理解する

Auth0 では、Auth0 のユーザープロファイルにメタデータを保存するための包括的な仕組みが提供されています。メタデータを使用すると、次のことができます。

* ユーザープロファイルにアプリケーション固有のデータを保存する。
* ユーザーに対して特定の操作が実行されたかどうかを記録する。
* 負荷の高い処理の結果をユーザープロファイルにキャッシュし、今後のログインで再利用できるようにする。
* <Tooltip tip="IDプロバイダー（IdP）: デジタルIDを保存および管理するサービス。" cta="用語集を見る" href="/ja/docs/glossary?term=identity+provider">IDプロバイダー</Tooltip>に由来しない情報や、IDプロバイダーから提供される情報を上書きする情報を保存する。

メタデータは、ユーザーのログインフローの一部として変更できます。

接続の同期を設定すると、ユーザーのルート属性が IDプロバイダーによって更新されるのは、ユーザープロファイルの作成時のみになります。その後、ルート属性は個別に編集することも、一括インポートで編集することもできます。詳細については、[ユーザープロファイル更新のための IDプロバイダー接続の構成](/ja/docs/manage-users/user-accounts/user-profiles/configure-connection-sync-with-auth0)を参照してください。

<div id="metadata-types">
  ## メタデータの種類
</div>

Auth0 では、特定の種類の情報を保存するために 3 種類のメタデータを使用します。

| メタデータの種類       | フィールド名                                                                                                          | 説明                                                                                                                                     |
| -------------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **ユーザー情報**     | `user_metadata`                                                                                                 | ユーザーの中核的な機能に影響しない、設定などのユーザー属性を保存します。このデータは、Management API を使用してフォームを作成した場合、ログイン済みのユーザーが編集**できます**。そのため、安全なデータ ストアとして使用するべき**ではありません**。 |
| **アクセス情報**     | `app_metadata`                                                                                                  | 権限、Auth0 のプラン、外部 ID など、ユーザーの機能へのアクセスに影響する可能性がある情報を保存します。このデータはユーザーが編集**できません**。また、このフィールドに保存できる内容には制限があります。                            |
| **アプリケーション情報** | `Client` オブジェクトの `client_metadata`、Rules の `context.clientMetadata`、およびログイン後の Actions の `event.client.metadata` | アプリケーション (OIDC OAuth2 の用語では *client*) に関する情報を保存します。たとえば、アプリケーションのホームページ URL などです (Auth0 がアプリケーション設定で設定しない任意の値) 。                       |

<div id="manage-metadata">
  ## メタデータの管理
</div>

Rules、Authentication API、<Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品です。" cta="用語集を見る" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip>、<Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 の主要製品です。" cta="用語集を見る" href="/ja/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>、および Lock ライブラリを使用して、メタデータを作成および更新できます。

カスタム DB スクリプトおよびカスタムソーシャル接続の `fetchUserProfile` スクリプトでは、`metadata` オブジェクトを使用してメタデータを作成および更新できます。

<div id="use-actions">
  ### Actions を使用する
</div>

[Actions](/ja/docs/customize/actions) は、Auth0 プラットフォーム上の特定のタイミングで実行される、セキュアでテナント固有のバージョン管理された Node.js 関数です。Actions は、カスタムロジックで Auth0 の機能をカスタマイズおよび拡張するために使用されます。また、[ユーザープロファイルを拡張する](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)ためにも使用できます。

たとえば、カスタムクレームを使用して `user_metadata` のプロパティを <Tooltip tip="IDトークン: リソースへのアクセスではなく、クライアント自体のための認証情報です。" cta="用語集を表示" href="/ja/docs/glossary?term=ID+tokens">IDトークン</Tooltip> にコピーする `post-login` Action を作成できます。続いて、Authentication API の [Get User Info](https://auth0.com/docs/api/authentication#get-user-info) エンドポイントから、ユーザーの `user_metadata` を取得できます。

詳しくは、[post-login Action Trigger でユーザーメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-user-metadata)を参照してください。

<div id="use-the-management-api">
  ### Management API を使用する
</div>

ユーザーは、適切なスコープを持つ<Tooltip tip="アクセストークン: API へのアクセスに使用される、不透明な文字列または JWT 形式の認可資格情報。" cta="用語集を見る" href="/ja/docs/glossary?term=access+token">アクセストークン</Tooltip>をリクエストし、次の [Management API](https://auth0.com/docs/api/management/v2) エンドポイントを使用して `user_metadata` の表示、作成、更新、または<Tooltip tip="多要素認証 (MFA): SMSで送信される code など、ユーザー名とパスワードに加えて認証要素を使用するユーザー認証プロセス。" cta="用語集を見る" href="/ja/docs/glossary?term=MFA">MFA</Tooltip> 設定の削除を行えます。

| タスク | エンドポイント                                                                                                                               | スコープ                           |
| --- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| 表示  | [`GET /api/v2/users/{id}`](https://auth0.com/docs/api/management/v2#!/Users/get_users_by_id)                                          | `read:current_user`            |
| 作成  | [`PATCH /api/v2/users/{id}`](https://auth0.com/docs/api/management/v2#!/Users/post_users)                                             | `create:current_user_metadata` |
| 更新  | [`PATCH /api/v2/users/{id}`](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id)                                      | `update:current_user_metadata` |
| 削除  | [`DELETE /api/v2/users/{id}/multifactor/{provider}`](https://auth0.com/docs/api/management/v2#!/Users/delete_multifactor_by_provider) | `update:users`                 |

Auth0 Management API を呼び出すにはアクセストークンが必要です。詳しくは、[Access Tokens for the Management API](https://auth0.com/docs/api/management/v2/tokens) および [Get Management API Tokens for SPAs](https://auth0.com/docs/api/management/v2/get-access-tokens-for-spas) を参照してください。

<div id="use-the-dashboard">
  ### Dashboard を使用する
</div>

キーと値のペアで構成されるアプリケーションメタデータを設定するには、Auth0 Dashboard を使用します。詳細については、[アプリケーションメタデータを設定する](/ja/docs/get-started/applications/configure-application-metadata) を参照してください。

<div id="use-the-lock-library">
  ### Lock ライブラリを使用する
</div>

[Lock](/ja/docs/libraries/lock) ライブラリを使用すると、`user_metadata.` の定義、追加、読み取り、更新を行えます。`user_metadata` プロパティは、他のユーザープロファイルのプロパティと同じ方法で読み取ります。たとえば、次のコードスニペットは `user_metadata.hobby` に関連付けられた値を取得し、ページ上の要素に割り当てます。

```javascript lines theme={null}
// 認証時に取得したaccessTokenを使ってgetUserInfoを呼び出す
lock.getUserInfo(accessToken, function(error, profile) {
  if (!error) {
    document.getElementById('hobby').textContent = profile.user_metadata.hobby;
  }
});
```

`additionalSignUpFields` を使用すると、ユーザーのサインアップフォームにカスタムフィールドを追加できます。ユーザーがカスタムフィールドに値を入力すると、Auth0 はその値をそのユーザーの `user_metadata` に保存します。サインアップ時に `user_metadata` を追加する方法について詳しくは、[Additional Signup Fields](/ja/docs/libraries/lock/lock-configuration#additionalsignupfields) を参照してください。

<div id="custom-database-connections-and-metadata">
  ## カスタムデータベース接続とメタデータ
</div>

[カスタムデータベース接続](/ja/docs/authenticate/database-connections#using-your-own-user-store) がある場合は、Authentication API の [`/dbconnections/signup`](https://auth0.com/docs/api/authentication?shell#signup) エンドポイントを使用して、ユーザーの `user_metadata` を設定できます。カスタムサインアッププロセスでメタデータを扱う方法について詳しくは、[Custom Signup](/ja/docs/libraries/custom-signup) を参照してください。

Authentication API の `/dbconnections/signup` エンドポイントを使用して `user_metadata` フィールドを設定する場合、使用できるのは最大 10 個の文字列フィールド、合計 500 文字までです。

<div id="custom-emails-and-metadata">
  ## カスタムメールとメタデータ
</div>

Auth0 のメールをカスタマイズするために使用する情報は、メタデータに保存します。たとえば、ユーザーがフィールドの値を変更できるようにする場合は `user_metadata.lang` を使用し、その情報を使ってメールの言語をカスタマイズします。詳しくは、[メールテンプレートをカスタマイズする](/ja/docs/customize/email/email-templates) を参照してください。

<div id="learn-more">
  ## 参考情報
</div>

* [メタデータのフィールド名とデータ型](/ja/docs/manage-users/user-accounts/metadata/metadata-fields-data)
* [Rules を使用してメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-rules)
* [Management API を使用してメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-api)
* [Lock を使用してメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-lock)
* [アプリケーションメタデータを設定する](/ja/docs/get-started/applications/configure-application-metadata)
* [post-login Action Trigger を使用してユーザーメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-user-metadata)
