開始前に
- 次のスコープを有効にした Machine-to-Machine Application を作成します。
read:usersupdate:userscreate:usersread:users_app_metadataupdate:users_app_metadatacreate:users_app_metadata
- M2M アプリケーションの認証情報を使用して Vault 接続 を追加します。
user_metadata 属性として保存できます。

一からフォームを作成する
- Auth0 Dashboard > Actions > Forms を選択して、フォームエディターを開きます。
- Create Form > Start from scratch を選択します。

Step ノードを設定する
-
Components menu から Rich text フィールドを Step ノードにドラッグします。
-
Rich text: カスタムメッセージを入力します。
- 例:
Complete your profile! We need you to complete your profile to personalize your experience.
- 例:
- Save を選択します。
-
Rich text: カスタムメッセージを入力します。
-
Text フィールドを Step ノードにドラッグします。
- ID:
company_nameを入力します。 - Label: チェックボックスをオンにします。
- Label:
Company nameを入力します。 - Required: チェックボックスをオンにします。
- Save を選択します。
- ID:
-
Text フィールドを Step ノードにドラッグします。
- ID:
job_titleを入力します。 - Label:
Job titleを入力します。 - Label: チェックボックスをオンにします。
- Required: チェックボックスをオンにします。
- Save を選択します。
- ID:
- 保存するには、Publish を選択します。

フローノードを設定する
user_metadata を更新して認証フローを再開するために、Step ノードの後に Flow ノードを追加します。次の手順に従ってください。
- フォームエディターの下部で Flow を選択します。
- Step ノードと Ending Screen ノードの間にある既存のリンクを削除します。
-
新しい Flow > Click to add a flow > Create a new flow を選択します。
- Name フィールドに
Update user_metadataと入力します。 - Create を選択します。
- Save を選択します。
- Name フィールドに
- 下図のように、Flow ノードを Step ノードと Ending Screen ノードに接続します。
- 保存するには Publish を選択します。

- Update user_metadata フローを選択し、次に Edit Flow を選択して、新しいタブで Flow エディターを開きます。
-
Start アクションの下にある + アイコンを選択して Update user アクションを追加します。以下の項目を入力し、続けて Save を選択します。
- Connection: ドロップダウンから、M2M アプリケーション用の Vault 接続を選択します。
-
User ID:
{{context.user.user_id}}と入力します。 -
Body: 次のコードをコピー&ペーストして、
job_titleとcompany_nameプロパティでuser_metadataを更新します。 - Save を選択します。
- 保存するには Publish を選択します。

フォームのレンダリングコードを取得する
- フォームエディターで、
<> Renderを選択します。 - Copy を選択します。

Post Login Action を作成する
- Auth0 Dashboard > Actions > Flows > Login に移動します。
-
+ アイコンを選択し、Build from scratch を選択します。
- Name:
Render Progressive Profile Formと入力します。 - Trigger:
Login / Post Loginを選択します。 - Runtime: 推奨バージョンを選択します。
- Name:
- Create を選択します。
- Code editor から既存のコードを削除します。
- フォームの埋め込みコードを Code editor に貼り付けます。
-
フォームを表示する条件ロジックを定義するようにコードを編集します。
上記のコード例では、ユーザーのログイン回数が 2 回を超えており、ユーザー metadata の
company_nameとjob_titleプロパティがない場合にフォームが表示されます。 - Deploy を選択します。
-
Render Progressive Profile Form Action を Login フローにドラッグ&ドロップします。

- Apply を選択します。
実装のテスト
- ログイン回数が 2 回を超えていて、
user_metadata属性のcompany_nameとjob_titleに値が設定されていない既存ユーザーでログインします。 - Login フローの Post Login Action によってフォームが表示され、情報の入力を求められます。
- Auth0 Dashboard > User Management > Users を選択し、該当するユーザーを見つけて、
user_metadata属性のcompany_nameとjob_titleに情報が含まれていることを確認します。