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

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

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

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

* [Management API](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id) を使用します。
* データベース内のユーザーを更新します。
* データベースから Auth0 への[ユーザー移行](/docs/ja-jp/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 は、そのユーザーが次回ログインしたときに、キャッシュされたユーザープロファイルを更新します。

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

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

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

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

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

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

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

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

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

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

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