> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-react-sdk-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ユースケース：Formsを使用して更新ポリシーフォームを構成する

> Forms for Actionsを使用して更新ポリシーフォームを構成する

<Card title="始める前に">
  1. 以下のスコープを有効にして、[マシンツーマシンアプリケーション](https://auth0.com/docs/get-started/auth0-overview/create-applications/machine-to-machine-apps)を作成します。

  * `read:users`
  * `update:users`
  * `create:users`
  * `read:users_app_metadata`
  * `update:users_app_metadata`
  * `create:users_app_metadata`

  2. マシンツーマシンアプリケーションの資格情報を使って[Vault接続](/docs/ja-jp/customize/forms/vault)を追加します。
</Card>

Forms for Actionsは、カスタムプライバシーポリシーフローを作成し、`app_metadata`オブジェクトの下に同意を保存できるようにします。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=62b5cb35ac75edb7ee49720772c1cae6" alt="Dashboard > Actions > Forms > Privacy policy use case" data-og-width="1404" width="1404" data-og-height="638" height="638" data-path="docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=0aa387cba8b3e863fbef0b5cd885f645 280w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=4724ab534c0b2d14302f9a114c8b54e6 560w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=bc4452e7aed645a23314c94c34b860c4 840w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=b69b4f72c74be25fe05d407d8b70ec2c 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=42c5b0f7abfb8b38cb6a98851c60a2c0 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=25e243875e45e505c628b81c5c966df4 2500w" />
</Frame>

以下のセクションでは、ノードとフローを使用して更新ポリシーフォームを作成する方法と、フォームを[ログイン後](/docs/ja-jp/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)のアクションに追加する手順について説明します。

## フォームをゼロから作成する

情報を収集するためのフォームを作成するには、次の手順に従ってください。

1. **［Auth0 Dashboard］>［Actions（アクション）］>［Forms（フォーム）］** の順に選択して、フォームエディターを開きます。
2. **［Create Form（フォームを作成）］** > **［Start from scratch（初めから作成する）］** の順に選択します。

特に設定を変更しない限り、新しいフォームには開始ノード、ステップノード、および終了スクリーンノードが含まれます。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=8ba5f599c4aa67c956a84093c22e719c" alt="Dashboard > Forms > Use Cases > Form" data-og-width="1234" width="1234" data-og-height="371" height="371" data-path="docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=3f217b68b22bfcf4e2c20545dcf0cf48 280w, https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=a5e355552c1d6f587d1edf403a3fa3c2 560w, https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=9a2b2387b730b2c8e718ac1b44c7c6e6 840w, https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=bf6e36f77109906833932110dba96bb2 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=fd4e4b486cfe1cb1cfad7b5554b5a307 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/lA2njkClFsvzuggE/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=lA2njkClFsvzuggE&q=85&s=3d7127dfb49355f3260cb23af99e31d8 2500w" />
</Frame>

### ステップノードを構成する

ステップノードは、ユーザーに表示されるグラフィカルインターフェースです。次の手順に従って、ステップノードに[フィールド](/docs/ja-jp/customize/forms/nodes-and-components)を追加し、新しい同意の値を収集します。

1. **［Components menu（コンポーネントメニュー）］** から **［Rich text（リッチテキスト）］** フィールドを **Step（ステップ）** ノードにドラッグします。

   * **Rich text（リッチテキスト）** ：プライバシーポリシー更新の説明を入力します。
   * **［Save（保存）］** を選択します。
2. **［Legal（法務）］** フィールドを **Step（ステップ）** ノードにドラッグします。

   * **Id** ：`privacy_policies`を入力します。
   * **Required（必要）** ：チェックボックスを有効にします。
   * **Legal（法的文）** ：「`I agree to the Privacy Policy`（プライバシーポリシーに同意します）」と入力します。
   * **［Save（保存）］** を選択します。
3. **［Publish（公開）］** を選択して保存します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=40dc8a16e319be7f8785eec52c095997" alt="Dashboard > Actions > Forms > Use case privacy policy step node" data-og-width="1404" width="1404" data-og-height="559" height="559" data-path="docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=8b90cb33f3feb61c0d9f4574c67c4896 280w, https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=032d36d8876783f53494990e750caad2 560w, https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=1dc06f2218b03bf20483cc129b481855 840w, https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=0a9aeb579824eab76509f93b81496fd8 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=8cf2d76832b13d1e29f8fc18ae12a1ad 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/Cr6VoyJsFy3Vsa3m/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=Cr6VoyJsFy3Vsa3m&q=85&s=d532db6d6385781ecf7890a93c61e83a 2500w" />
</Frame>

### フローノードを構成する

次の手順に従って、 **Step（ステップ）** ノードの後に **Flow（フロー）** ノードを追加し、`app_metadata`を更新して認証フローを再開します。

1. フォームエディターの下にある **［Flow（フロー）］** を選択します。
2. **Step（ステップ）** ノードと **Ending Screen（終了画面）** ノードの間にある既存のリンクを削除します。
3. 新たに **［Flow（フロー）］** > **［Click to add a flow（クリックしてフローを追加する）］** > **［Create a new flow（新しいフローを作成する）］** を選択します。

   * **［Name（名前）］** フィールドに`Update app_metadata`と入力します。
   * **［Create（作成）］** を選択します。
   * **［Save（保存）］** を選択します。
4. 下の画像のように **Flow（フロー）ノード** を **Step（ステップ）** ノードと **Ending Screen（終了画面）** ノードにリンクします。
5. **［Publish（公開）］** を選択して保存します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=a22ad7d6a8b6ab36d9676958746c9d8b" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="599" height="599" data-path="docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=187c10a60e1b86bb8a91b30f422012c0 280w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=0525e69495a054659df0128c97a76b80 560w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=15b560630e684670f3bf26c94f10c5ae 840w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=6c1e6ca72b1c10ddf0a39645f8210bb0 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=3cf9ee8d5316f590bcc3168873c26d27 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/ZVRYMc77DWeSD0Aw/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=ZVRYMc77DWeSD0Aw&q=85&s=7245dbd0e809c245ee71563de9d632c4 2500w" />
</Frame>

Auth0ユーザーの更新アクションをフローに追加するには、次の手順に従います。

1. **［Update user\_metadata（user\_metadata更新）］* \*\*\* フロー*\* を選択してから **［Edit flow（フローの編集）］** を選択し、新しいタブにフローエディターを開きます。
2. アクションの **［Start（開始）］** の下にある **［+］** アイコンを選択し、 **Update user（ユーザー更新）** アクションを追加します。以下のフィールドに入力して、 **［Save（保存）］** を選択します。

   * **Connection（接続）** ：ドロップダウンからM2MアプリケーションへのVault接続を選択します。

   * **User ID（ユーザーID）** ：`{{context.user.user_id}}`と入力します。

   * **Body（ボディー）** ：以下のコードをコピーして貼り付け、privacy\_policiesとprivacy\_policies\_timestampのプロパティを含むapp\_metadataを更新します。

     ```text lines theme={null}
     {
       "app_metadata": {
         "privacy_policies": true,
         "privacy_policies_timestamp": "{{ functions.toTimestamp() }}"
       }
     }
     ```

   * **［Save（保存）］** を選択します。
3. **［Publish（公開）］** を選択して保存します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=e8affc6f66729160e52e79fbb143b1c7" alt="Dashboard > Actions > Forms > User case privacy policy code" data-og-width="1404" width="1404" data-og-height="338" height="338" data-path="docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=734fb2b002161dde653e2b0407f3abc0 280w, https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=b0ce9c458f9db481e7ef843879a599a8 560w, https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=bca46f9d289e16a68227f71aec9ddbfe 840w, https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=81daf2297f0337880180860810d6960d 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=23f8025a1eec03ab4f7ad10f2ce06d7e 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/hqMlPYr3yHpqkW14/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=hqMlPYr3yHpqkW14&q=85&s=34bfd57326c366c17aeb89096ad30001 2500w" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  **Update app\_metadata** フローは、`privacy_policies true`値を`app_metadata`オブジェクトに追加し、[ヘルパー関数](/docs/ja-jp/customize/forms/variables)を使ってタイムスタンプを生成します。
</Callout>

## フォームのレンダーコードを取得する

フォームのレンダーコードを取得して、カスタムのログイン後アクションでフォームを視覚的にレンダリングするには、以下の手順に従います。

* フォームエディターから **`<>`［Render（レンダー）］** を選択します。
* **［Copy（コピー）］** を選択します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=3da879445043fe9ea64a97d3d47ce475" alt="Dashboard > Actions > Forms > Form > Embed" data-og-width="1400" width="1400" data-og-height="848" height="848" data-path="docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=3b0b0f143e96fc76d30178a8c3adc4be 280w, https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=6d26e3d658b543b0302711a543cae892 560w, https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=92be54dd753215c0283e556d7519fef3 840w, https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=c251d108f5e6e1970356a635c0be4751 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=4c819d2a0247ed3fd7572c62a06da43b 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/sLDmzNuO3ZCCApzI/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=sLDmzNuO3ZCCApzI&q=85&s=deabd16ccd0281586e28fd2de499d98a 2500w" />
</Frame>

## ログイン後のアクションを作成する

ログイン後のアクションを作成してフォームをレンダリングするには、次の手順に従います。

1. **［Auth0 Dashboard］>［Actions（アクション）］>［Flows（フロー）］>［Login（ログイン）］** に移動します。
2. **［+］** アイコンを選択し、 **［Build from scratch（初めから構築する）］** を選択します。

   * **Name（名前）** ：`Render Update Policy Form`（更新ポリシーフォームのレンダリング）と入力します。
   * **Trigger（トリガー）** ：［`Login / Post Login`（ログイン/ログイン後）］を選択します。
   * **Runtime（ランタイム）** ：推奨バージョンを選択します。
3. **［Create（作成）］** を選択します。

ログイン後のアクションを構成するには、以下を行います。

1. 既存のコードをコードエディターから削除します。

2. フォームのレンダリングコードをコードエディターに貼り付けます。

3. コードを編集して、フォームをレンダリングする条件ロジックを定義します。

   ```javascript lines theme={null}
   /**
   * @param {Event} event - Details about the user and the context in which they are logging in.
   * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.
   */
   exports.onExecutePostLogin = async (event, api) => {
     const FORM_ID = 'REPLACE_WITH_YOUR_FORM_ID';

     if (event.user.app_metadata.privacy_policies !== true) {
       api.prompt.render(FORM_ID);
     }
   }

   exports.onContinuePostLogin = async (event, api) => { }
   ```

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     上の例にあるコードでは、ユーザーのアプリメタデータに`privacy_policies`プロパティがない場合にフォームが表示されます。
   </Callout>

4. **［Deploy（デプロイ）］** を選択します。

5. **［Render Update Policy Form（更新ポリシーフォームのレンダリング）］** アクションを **Login（ログイン）** フローにドラッグ＆ドロップします。

   <Frame>
     <img src="https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=eba3f157c0a3c8ca3ca86c6654e0b489" alt="Dashboard > Forms > Use Case > Render update policy form login action" data-og-width="1370" width="1370" data-og-height="668" height="668" data-path="docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=eafa95077c1a4f3ea95249db9aca5637 280w, https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=582075abfff7d76cf4b8815eb6d6607f 560w, https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=e46743b2ec5cb2b5e000baf91ff7c32e 840w, https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=67c8c6860090cf4637d0ddb8383ad01f 1100w, https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=eeac0020f1f0a4cf15e15da817146f73 1650w, https://mintcdn.com/docs-dev-react-sdk-reference/-FS4tym71fDbAD1o/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=-FS4tym71fDbAD1o&q=85&s=2cc9410c27f3bf19174e0c4288c1271f 2500w" />
   </Frame>

6. **［Apply（適用）］** を選択します。

### 実装をテストする

次の手順に従って実装をテストします。

1. `app_metadata`属性の`privacy_policies`に値がない既存のユーザーとしてログインします。
2. ログインフローのログイン後アクションがフォームをレンダリングして、同意を求めます。
3. **［Auth0 Dashboard］>［User Management（ユーザー管理）］>［Users（ユーザー）］** に移動し、ユーザーを見つけて、`app_metadata`属性の`privacy_policies`に`true`値とタイムスタンプが含まれていることを確認します。
