- アプリケーション特定のデータをユーザープロファイルに保管する
- ユーザーに対して特定の操作が発生したかを記録する
- ユーザープロファイルに関する負荷の大きい処理の結果をキャッシュして、将来のログインで再利用する
- IDプロバイダー以外から提供された情報を保管する、または、IDプロバイダーから提供された情報を上書きする情報を保管する
メタデータの種類
Auth0は3種類のメタデータを使って、特定の情報を保管します。メタデータを管理する
メタデータの作成や更新には、ルール、Authentication API、、、ロックライブラリーを使うことができます。 カスタムソーシャル接続のカスタムDBスクリプトとfetchUserProfileスクリプトでは、メタデータの作成と更新にmetadataオブジェクトを使うことができます。
アクションを使用する
アクションは安全でテナント固有のバージョン管理された関数で、Node.jsで記述され、Auth0プラットフォームにある特定の拠点で実行されます。アクションは、カスタムロジックでAuth0の機能をカスタマイズおよび拡張するために使用されます。ユーザープロファイルを強化するために使うこともできます。 たとえば、カスタムクレームを使用するpost-loginアクションを作成して、user_metadataプロパティーをIDトークンにコピーするのに使うことができます。その際に、ユーザーのuser_metadataはAuthentication APIのユーザー情報取得エンドポイントを介して取得されます。
詳細については、「ログイン後のアクショントリガーでユーザーメタデータを管理する」をお読みください。
Management APIを使用する
ユーザーは、適切なスコープを指定してアクセストークンを要求し、以下のManagement APIエンドポイントを使ってuser_metadataの表示や作成、更新を行ったり、の構成を削除したりできます。
Auth0 Management APIを呼び出すのに、アクセストークンは必須です。詳細については、「Management APIのアクセストークン」と「SPAにManagement APIのトークンを取得する」をお読みください。
Dashboardを使用する
Auth0 Dashboardを使用すると、キーと値のペアを含むアプリケーションメタデータを構成することができます。詳細については、「アプリケーションメタデータを構成する」をお読みください。ロックライブラリーを使用する
ロックライブラリーは、user_metadataの定義、追加、読み取り、更新に使うことができます。user_metadataプロパティは、他のユーザープロファイルのプロパティと同じ方法で読み取ります。たとえば、以下のコードのスニペットでは、user_metadata.hobbyに関連付けられた値が取得され、ページにある要素に割り当てられます。
additionalSignUpFieldsを使用します。ユーザーがカスタムフィールドにデータを追加すると、Auth0は入力された値をユーザーのuser_metadataに保管します。サインアップ時のuser_metadataの追加については、「追加のサインアップフィールド」を参照してください。
カスタムデータベース接続とメタデータ
カスタムデータベース接続がある場合には、Authentication APIの/dbconnections/signupエンドポイントを使って、ユーザーにuser_metadataを設定することができます。カスタムサインアッププロセスでのメタデータの扱いについては、「カスタムサインアップ」をお読みください。
user_metadataフィールドをAuthentication APIの/dbconnections/signupエンドポイントを使って設定する際には、最大10の文字列フィールド、最大500文字までに制限されます。
カスタムメールとメタデータ
メタデータを使用して、Auth0メールのカスタマイズに使いたい情報を保管します。たとえば、ユーザーがフィールドの値を変更できるようにするには、user_metadata.langを使って、メールの言語をカスタマイズする情報を使用します。詳細については、「メールテンプレートをカスタマイズする」をお読みください。
ロックで問題が発生した場合には、「非推奨エラー」を確認してください。Management APIで問題が発生した場合には、「API呼び出しをチェックする」を参照してください。