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

# データベースでユーザープロファイルを更新する

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

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

* [Management API](/docs/ja-jp/api/management/v2#!/Users/patch_users_by_id)を使用する
* 独自のデータベースでユーザーを更新する
* データベースからAuth0への[ユーザー移行を構成する](/docs/ja-jp/manage-users/user-migration/configure-automatic-migration-from-your-database)

## Management APIを使ってユーザーを更新する

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

* `app_metada`
* `user_metadata`
* `blocked`

ユーザーフィールド以外の更新が必要な場合には、独自のデータベースで直接更新します。

## 独自のデータベースでユーザーを更新する

独自のデータベースで通常通りにユーザープロファイルを更新することができます。次回ユーザーがログインした際に、Auth0はキャッシュにあるユーザープロファイルを更新します。

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

カスタムデータベーステンプレートは、［Connections（接続）］->［Database（データベース）］->［Custom Database（カスタムデータベース）］にあります。スクリプトを編集するには、［Use my own database（独自のデータベースを使用する）］を有効にしてください。

Auth0がユーザープロファイルをキャッシュする方法の概要については、以下の「[ユーザープロファイルのキャッシュ](#user-profile-cache)」のセクションを参照してください。

## 移行でユーザーを更新する

[ユーザーの移行を有効化](/docs/ja-jp/connections/database/migrating)していて、ユーザーがAuth0データベースへ移行済みの場合には、Auth0はユーザープロファイルについてデータベースを再度クエリすることはありません。そのため、カスタムデータベースでユーザについて行ったすべての変更は、Auth0には反映されません。

ユーザーが移行されると、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>から、`name`、`nickname`、`given_name`、`family_name`、`picture`、`email`、`email_verified`などのフィールドを更新することもできます。

ただし、[正規化ユーザープロファイル](/docs/ja-jp/manage-users/user-accounts/user-profiles/normalized-user-profiles)で説明されているように、他のユーザーフィールドを更新するルールは引き続き適用されます。

## ユーザープロファイルのキャッシュ

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

[正規化ユーザープロファイル](/docs/ja-jp/users/normalized/auth0/normalized-user-profile-schema)フィールドのキャッシュされた値は、カスタムデータベース接続のログインスクリプトから返された値に基づいています。

ユーザープロファイルのキャッシュには、いくつかの理由があります。まず、キャッシュにより、Auth0レイヤーで[シングルサインオン（SSO）](/docs/ja-jp/authenticate/single-sign-on)を実装して、要求ごとに接続する必要がなくなるオプションが提供されます。また、接続が一時的に使用できなくなった場合に回復させることができます。

## もっと詳しく

* [APIの呼び出しをチェックする](/docs/ja-jp/troubleshoot/authentication-issues/check-api-calls)
* [ユーザープロファイルの確認](/docs/ja-jp/troubleshoot/authentication-issues/check-user-profiles)
