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

> 独自のデータベースをIDプロバイダーとして使用する場合の、ユーザープロファイルの更新方法について説明します。

# 独自のデータベースを使用したユーザープロファイルの更新

[独自のデータベースをIDプロバイダーとして使用する](/ja/docs/authenticate/database-connections/custom-db)場合は、次のタスクを実行してユーザープロファイルを更新します。

* [Management API](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id) を使用します。
* データベース内のユーザーを更新します。
* データベースから Auth0 への[ユーザー移行を設定](/ja/docs/manage-users/user-migration/configure-automatic-migration-from-your-database)します。

<div id="update-users-with-the-management-api">
  ## Management API でユーザー情報を更新する
</div>

認証に独自のデータベースを使用している場合は、[Management API](https://auth0.com/docs/api/management/v2) を使用して次のフィールドを更新できます。

* `app_metadata`
* `user_metadata`
* `blocked`

その他のユーザーフィールドを更新する必要がある場合は、データベース内で直接更新する必要があります。

<div id="update-users-in-your-database">
  ## データベース内のユーザーを更新する
</div>

通常どおりデータベース内のユーザープロファイルを更新できます。Auth0 は、そのユーザーが次回ログインしたときに、キャッシュされたユーザープロファイルを更新します。

カスタムデータベース内のユーザープロファイルは任意の構造で実装できますが、「Login」カスタムデータベーステンプレートに示されているように、`Login` 呼び出しで Auth0 の正規化されたユーザープロファイル属性にマッピングする必要があります。

カスタムデータベーステンプレートには、
Connections -> Database -> Custom Database
からアクセスできます。スクリプトを編集できるようにするには、「Use my own database」トグルを必ずオンにしてください。

Auth0 がユーザープロファイルをどのようにキャッシュするかについては、以下の [ユーザープロファイルのキャッシュ](#user-profile-cache) セクションで簡単な概要を確認してください。

<div id="update-users-through-migration">
  ## 移行後のユーザーを更新する
</div>

[ユーザー移行を有効化](/ja/docs/manage-users/user-migration/configure-automatic-migration-from-your-database)しており、ユーザーがすでにAuth0データベースに移行されている場合、Auth0はそのユーザーのユーザープロファイルについて、以後データベースを再度照会しません。したがって、そのユーザーのカスタムデータベースで行われた変更がAuth0に反映されることはありません。

ユーザーが移行されると、`name`、`nickname`、`given_name`、`family_name`、`picture`、`email`、`email_verified` などのフィールドは、<Tooltip tip="Management API: お客様が管理タスクを実行するための製品です。" cta="用語集を見る" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> を介して更新できるようになります。

ただし、その他のユーザーフィールドの更新に関するルールについては、[Normalized User Profile](/ja/docs/manage-users/user-accounts/user-profiles/normalized-user-profiles) で説明されているとおり引き続き適用されます。

<div id="user-profile-cache">
  ## ユーザープロファイルのキャッシュ
</div>

Auth0 は、[データベース接続](/ja/docs/authenticate/database-connections) から受け取ったユーザープロファイルを、クライアントアプリケーションに送信する前にキャッシュします。このキャッシュは Auth0 のデータベースに保存され、ユーザーが認証するたびに更新されます。

[Normalized User Profile](/ja/docs/manage-users/user-accounts/user-profiles/normalized-user-profile-schema) の各フィールドのキャッシュされた値は、カスタムデータベース接続の Login Script から返される値に基づいています。

ユーザープロファイルがキャッシュされる理由はいくつかあります。まず、キャッシュにより、すべてのリクエストごとに接続先へ問い合わせなくても済むよう、Auth0 レイヤーで [シングルサインオン (SSO) ](/ja/docs/authenticate/single-sign-on) を実装できます。さらに、接続が一時的に利用できない場合の耐障害性も向上します。
