> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-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-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=b7a7cfb27c97c5e853a959ee7a499500" 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-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=eb4f3bd394b87aed0900f00fb2a786b0 280w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=66ee7510210fd11357bb46b6b9cd32a9 560w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=f52cfb9705928e9afcc59bbec8ee38eb 840w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=4001e3a2439bd3dc1bb4eff41d9178ff 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=01dcdf1b9bba710bbe5b068ae8958fde 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=46784500274126002844aa04dbe7e993 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-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=4bbbe728235d57ca12244cb14e474407" 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-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=cb5d6aa50959ff6d70e1ccd711561b15 280w, https://mintcdn.com/docs-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=9651b8b8f04bdc2dea0c3d9dc87220bb 560w, https://mintcdn.com/docs-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=10cb7f4f4c0aa44ebd2ad3d6884bda44 840w, https://mintcdn.com/docs-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=0cbd023df18d87f361bfc37efda87d71 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=42077bcd4ba8d92ea5e65016f4bf3e49 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/fIEDPFXmPxg81fUJ/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=fIEDPFXmPxg81fUJ&q=85&s=983b93ef253d8012ac8312b01c509f54 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-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=381ac232a3d17beddd8d8f97da3907c9" 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-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=256b0a6052712ced957151adf506823c 280w, https://mintcdn.com/docs-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=26bcb70731484a3b0794d6b9446b3c37 560w, https://mintcdn.com/docs-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=2c726e33f531535454f20f69084fe253 840w, https://mintcdn.com/docs-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=1a514a1696c92fbf803d182f4899e00e 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=0c148495b42711bef52a3fb77846f5d4 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/fqu69p4ONSlz-_9f/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=fqu69p4ONSlz-_9f&q=85&s=9d0fd89a5dab19ce25222ac95c5cd688 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-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=c50c584d932d76d17721a70c016ea5e6" 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-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=c99d0c990b0655c912529d8b554cf001 280w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=568a61fa127b7e4c0cc98d8852357f3a 560w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=7887977b5850b2ae2f4f266aeb28f2d9 840w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=284ac3eb76a86d31100e2b4a30faeef4 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=99c84a365fa6a294f3051285f7bea652 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/maQt_F2pFDwsJjxn/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=maQt_F2pFDwsJjxn&q=85&s=f82c5fb0e24a5eddadd26d709b014885 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-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=0a6f5159788bd2d2250c0ba02b196955" 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-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=2e38315b7f96da05da2507e001d30a9d 280w, https://mintcdn.com/docs-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=9e41925cac678be0e21699b355afb43f 560w, https://mintcdn.com/docs-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=ed9d39508ddb005d47f9ddfc1daad12e 840w, https://mintcdn.com/docs-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=6ee9f110e11898d1c1eeca42ec1ca9ff 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=53fdf3ba23b2a79d1bc3a1f94259b288 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/8vB36MaKPCmyPa-D/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=8vB36MaKPCmyPa-D&q=85&s=2b9d26ed3576204ab22f4df14d271f16 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-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=21952af2351aa309c175af74004266b7" 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-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=beb52214ba955264d9392847b694948f 280w, https://mintcdn.com/docs-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=d0537ebe5fecb7d47cb1526e2c4c9c91 560w, https://mintcdn.com/docs-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=d74846abd4c157e7f88c7a40f417143a 840w, https://mintcdn.com/docs-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=b65e7b728aa8016b36bead5576611e83 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=f98f5e7b3c1b3ef223da8d63a5591ccb 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/90PBfYWFw6qjKZMB/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=90PBfYWFw6qjKZMB&q=85&s=285700639d7a0157d3fa7e9da6233a67 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-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=5ca1a209a302e3d0596d058b54775212" 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-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=e71730551d6897e9c844c65950a87af1 280w, https://mintcdn.com/docs-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=1a001c8ec14f7110c03ce5a9ffae8ed0 560w, https://mintcdn.com/docs-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=2adc8e5958be1da26ae0b4f3cb098bbc 840w, https://mintcdn.com/docs-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=1392427a0ed9e0bc0e8d896abff64f98 1100w, https://mintcdn.com/docs-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=5612b3d6075a35bd8b4913a5a7f4af7e 1650w, https://mintcdn.com/docs-staging-react-sdk-reference/iEdGUqMwscBsGN_N/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=iEdGUqMwscBsGN_N&q=85&s=f0e202d36b53acf0027e27a3b034ca00 2500w" />
   </Frame>

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

### 実装をテストする

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

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