始める前に
- 次のスコープを有効にして、Machine-to-Machine Application を作成します。
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 を更新して認証フローを再開します。
- フォームエディターの下部で 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 を選択し、新しいタブで Flow エディターを開きます。
-
StartAction の下にある + アイコンを選択して Update user アクションを追加します。以下のフィールドに入力し、Save を選択して続行します。
- Connection: ドロップダウンから、M2M アプリケーション用の Vault 接続を選択します。
-
User ID:
{{context.user.user_id}}と入力します。 -
Body: 次のコードをコピー&ペーストして、privacy_policies プロパティと privacy_policies_timestamp プロパティで app_metadata を更新します。
- Save を選択します。
- 保存するには Publish を選択します。

フロー Update app_metadata では、app
_metadata オブジェクトに privacy_policies: true を追加し、さらに helper function. を使ってタイムスタンプを生成します。フォームのレンダリングコードを取得する
- フォームエディターで、
<> 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 を選択します。
- Code editor 内の既存のコードを削除します。
- フォームを表示するコードを Code editor に貼り付けます。
-
フォームを表示するための条件ロジックを定義するよう、コードを編集します。
上記のコード例では、ユーザーの 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の値とタイムスタンプが含まれていることを確認します。