始める前に
- 以下のスコープを有効にして、マシンツーマシンアプリケーションを作成します。
read:users
update:users
create:users
read:users_app_metadata
update:users_app_metadata
create:users_app_metadata
- マシンツーマシンアプリケーションの資格情報を使ってVault接続を追加します。
user_metadata
属性として保管するようユーザーに求めるタイミングを決定できます。

フォームをゼロから作成する
情報を収集するためのフォームを作成するには、次の手順に従ってください。- [Auth0 Dashboard]>[Actions(アクション)]>[Forms(フォーム)] の順に選択して、フォームエディターを開きます。
- [Create Form(フォームを作成)] > [Start from scratch(初めから作成する)] の順に選択します。

ステップノードを構成する
ステップノードはユーザーに表示されるグラフィカルインターフェイスです。次の手順に従って、ステップノードにフィールドを追加し、ユーザーの会社名と役職の値を収集します。-
[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(公開)] を選択して保存します。

フローノードを構成する
以下の手順に従って、 Step(ステップ) ノードの後に Flow(フロー) ノードを追加し、user_metadata
を更新して認証フローを再開します。
- フォームエディターの下にある [Flow(フロー)] を選択します。
- Step(ステップ) ノードと Ending Screen(終了画面) ノードの間にある既存のリンクを削除します。
-
新たに [Flow(フロー)] > [Click to add a flow(クリックしてフローを追加する)] > [Create a new flow(新しいフローを作成する)] を選択します。
- [Name(名前)] フィールドに
Update user_metadata
(user_metadata更新)と入力します。 - [Create(作成)] を選択します。
- [Save(保存)] を選択します。
- [Name(名前)] フィールドに
- 下の画像のように Flow(フロー) ノードを Step(ステップ) ノードと Ending Screen(終了画面) ノードにリンクします。
- [Publish(公開)] を選択して保存します。

- [Update user_metadata(user_metadata更新)] フローを選択してから [Edit flow(フローの編集)] を選択し、新しいタブにフローエディターを開きます。
-
アクションの [Start(開始)] の下にある [+] アイコンを選択し、 Update user(ユーザー更新) アクションを追加します。以下のフィールドに入力して、 [Save(保存)] を選択します。
- Connection(接続) :ドロップダウンからM2MアプリケーションへのVault接続を選択します。
-
User ID(ユーザーID) :
{{context.user.user_id}}
と入力します。 -
Body(ボディー) :以下のコードをコピーして貼り付け、
job_title
とcompany_name
のプロパティを含むuser_metadataを更新します。 - [Save(保存)] を選択します。
- [Publish(公開)] を選択して保存します。

フォームのレンダーコードを取得する
フォームのレンダーコードを取得して、カスタムのログイン後アクションでフォームを視覚的にレンダリングするには、以下の手順に従います。- フォームエディターから [Render(レンダー)] を選択します。
- [Copy(コピー)] を選択します。

ログイン後のアクションを作成する
ログイン後のアクションを作成してフォームをレンダリングするには、次の手順に従います。- [Auth0 Dashboard(Auth0ダッシュボード)]>[Actions(アクション)]>[Flows(フロー)]>[Login(ログイン)] に移動します。
-
[+] アイコンを選択し、 [Build from scratch(初めから構築する)] を選択します。
- Name(名前) :
Render Progressive Profile Form
(プログレッシブプロファイルフォームのレンダリング)と入力します。 - Trigger(トリガー) :[
Login / Post Login
(ログイン/ログイン後)]を選択します。 - Runtime(ランタイム) :推奨バージョンを選択します。
- Name(名前) :
- [Create(作成)] を選択します。
- 既存のコードをコードエディターから削除します。
- フォームの埋め込みコードをコードエディターに貼り付けます。
-
コードを編集して、フォームをレンダリングする条件ロジックを定義します。
上の例にあるコードでは、ユーザーのログイン回数が3以上で、ユーザーのメタデータにcompany_nameプロパティとjob_titleプロパティがない場合にフォームが表示されます。
- [Deploy(デプロイ)] を選択します。
-
Render Progressive Profile Form(プログレッシブプロファイルフォームのレンダリング) アクションを Login(ログイン) フローにドラッグ&ドロップします。
- [Apply(適用)] を選択します。
実装をテストする
次の手順に従って実装をテストします。- ログインを3回以上実行済みで、
user_metadata
属性のcompany_name
とjob_title
に値がない既存のユーザーでログインします。 - ログインフローのログイン後アクションがフォームをレンダリングして、情報の入力を求めます。
- [Auth0 Dashboard]>[User Management(ユーザー管理)]>[Users(ユーザー)] に移動し、ユーザーを見つけて、
user_metadata
属性のcompany_name
とjob_title
に情報が含まれていることを確認します。