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

独自のデータベースをIDプロバイダーとして使用する場合は、次のタスクを実行してユーザープロファイルを更新します。

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

認証に独自のデータベースを使用する場合は、Management APIを使用して次のフィールドを更新できます。

  • app_metada

  • user_metadata

  • blocked

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

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

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

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

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

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

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

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

ユーザーが移行されると、Management APIから、namenicknamegiven_namefamily_namepictureemailemail_verifiedなどのフィールドを更新することもできます。

ただし、正規化ユーザープロファイルで説明されているように、他のユーザーフィールドを更新するルールは引き続き適用されます。

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

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

正規化ユーザープロファイルフィールドのキャッシュされた値は、カスタムデータベース接続のログインスクリプトから返された値に基づいています。

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

もっと詳しく