Skip to main content
独自のデータベースをアイデンティティプロバイダーとして使用する場合、ユーザープロファイルを更新するには、次のタスクを行います。
  • Management API を使用します。
  • データベース内のユーザーを更新します。
  • データベースから Auth0 へのユーザー移行を設定します。

Management API でユーザーを更新する

認証に独自のデータベースを使用している場合は、Management API を使用して次のフィールドを更新できます。
  • app_metadata
  • user_metadata
  • blocked
その他のユーザーフィールドを更新する必要がある場合は、データベースを直接更新する必要があります。

データベース内のユーザーを更新する

通常どおりデータベース内のユーザープロファイルを更新できます。Auth0 は、そのユーザーが次回ログインしたときに、キャッシュされたユーザープロファイルを更新します。 Custom database 内のユーザープロファイルは任意の構造で実装できますが、「Login」の Custom Database テンプレートに示されているように、Login 呼び出しで Auth0 の正規化されたユーザープロファイル属性にマッピングする必要があります。 Custom Database テンプレートには Connections -> Database -> Custom Database からアクセスできます。スクリプトを編集できるようにするには、必ず「Use my own database」トグルをオンにしてください。 Auth0 がユーザープロファイルをどのようにキャッシュするかについて簡単に確認するには、以下の User profile cache セクションを参照してください。

移行によるユーザーの更新

ユーザー移行を有効化していて、ユーザーがすでにAuth0データベースに移行されている場合、Auth0がそのユーザーのユーザープロファイルを取得するために、あなたのデータベースへ再度問い合わせることはありません。したがって、そのユーザーについてCustom databaseで行った変更がAuth0に反映されることはありません。 ユーザーが移行されると、namenicknamegiven_namefamily_namepictureemailemail_verified などのフィールドは、 を通じて更新できるようになります。 ただし、その他のユーザーフィールドの更新に関するルールについては、引き続きNormalized User Profileで説明されている内容が適用されます。

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

Auth0 は、データベース接続から受け取ったユーザープロファイルをクライアントアプリケーションに送信する前にキャッシュします。このキャッシュは Auth0 のデータベースに保存され、ユーザーが認証されるたびに更新されます。 Normalized User Profile フィールドのキャッシュ値は、カスタムデータベース接続の Login Script から返される値に基づいています。 ユーザープロファイルをキャッシュする理由はいくつかあります。まず、キャッシュすることで、リクエストのたびに接続にアクセスしなくても済むよう、Auth0 レイヤーで シングルサインオン (SSO) を実装することが可能になります。さらに、接続が一時的に利用できない場合の耐障害性も高まります。