始める前に
- 次のスコープを有効にした マシン間アプリケーション を作成します。
read:usersupdate:userscreate:usersread:users_app_metadataupdate:users_app_metadatacreate:users_app_metadata
- M2M アプリケーションの認証情報を使用して、Vault 接続 を追加します。
app_metadata オブジェクトに保存できます。

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

Step ノードを設定する
-
Components menu から Rich text フィールドを Step ノードにドラッグします。
- Rich text: プライバシーポリシーの更新内容に関する説明を入力します。
- Save を選択します。
-
Legal フィールドを Step ノードにドラッグします。
- ID:
privacy_policiesを入力します。 - Required: チェックボックスを有効にします。
- Legal:
I agree to the Privacy Policyを入力します。 - Save を選択します。
- ID:
- 保存するには Publish を選択します。

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

- Flow Update app_metadata > Edit flow を選択し、新しいタブでフローエディターを開きます。
-
StartAction の下で + アイコンを選択し、Update user アクションを追加します。以下のフィールドを入力してから、Save を選択して続行します。
- Connection: ドロップダウンから、M2M アプリケーション用の Vault 接続を選択します。
-
User ID:
{{context.user.user_id}}を入力します。 -
Body: 次のコードをコピーして貼り付け、app_metadata を
privacy_policiesおよびprivacy_policies_timestampプロパティで更新します。 - Save を選択します。
- 保存するには Publish を選択します。

フロー Update app_metadata は、
app_metadata オブジェクトに privacy_policies の値 true を追加し、ヘルパー関数を使用してタイムスタンプも生成します。フォームのレンダリングコードを取得する
- フォームエディターで
<> Renderを選択します。 - Copy を選択します。

Post Login Action を作成する
- Auth0 Dashboard > Actions > Flows > Login に移動します。
-
+ アイコンを選択し、Build from scratch を選択します。
- Name:
Render Update Policy Formと入力します。 - Trigger:
Login / Post Loginを選択します。 - Runtime: 推奨バージョンを選択します。
- Name:
- Create を選択します。
- コードエディターから既存のコードを削除します。
- フォームをレンダリングするコードをコードエディターに貼り付けます。
-
フォームをレンダリングする条件ロジックを定義するようにコードを編集します。
上記のコード例では、ユーザーの app_metadata に
privacy_policiesプロパティが存在しない場合にフォームがレンダリングされます。 - Deploy を選択します。
-
Render Update Policy Form Action を Login フローにドラッグアンドドロップします。

- Apply を選択します。
実装をテストする
app_metadata属性のprivacy_policiesに値が設定されていない既存のユーザーでログインします。- Login フローの post-login Action でフォームがレンダリングされ、同意を求められます。
- Auth0 Dashboard > User Management > Users, を選択し、対象のユーザーを見つけて、
app_metadata属性のprivacy_policiesにtrueの値とタイムスタンプが含まれていることを確認します。