> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-feat-universal-portals.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-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=938f2deafaae9305f60bba6cdf8cf878" 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-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=4cf2d6f28e3d921f75c2ab68527899f8 280w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=f79e49cd139d0263c37b70927f755c2a 560w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=250311985cd0d6960d9ca10305d2a027 840w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=1f45d792bb8066d5b7cee18df7b7d5fb 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=a9137f2759f167740c971061e5911e03 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=a44744c930e80a782f879d580831ea33 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-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=088f2ae2aa396202d7311ca5cbf25443" 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-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=537311ed008dfd81882a77137c8bb187 280w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=35e61240b33c4b5cfb531f1f5fe4b185 560w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=a1635053154ef1aa617cd527208e993c 840w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=8aee783b46e6c3f0931a9464355da89c 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=d28acbe2e511ae40f3c2e5102e669cb3 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=44244b455223b51266352e66df417ff1 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-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=467c72b253f56615c81af9dc99149047" 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-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=82b6b3cdbf482d4b770847ce44b3649f 280w, https://mintcdn.com/docs-staging-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=eca10d2f825eb870da2df199e374b6fd 560w, https://mintcdn.com/docs-staging-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=aff141433201d914c2bb27ef09b1b0ff 840w, https://mintcdn.com/docs-staging-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=dc5d850e49299f62a9c4ee9ff0c1774d 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=838f0ea09d11950a13d49946485eed25 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/bNG4qozDBzw-8Pln/docs/images/ja-jp/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=bNG4qozDBzw-8Pln&q=85&s=80cc4eddd75bc47509f65ee892592c21 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-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=753fd455f457bb4512d0931f61d1360a" 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-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=5dfdb374fe8ceb799e3a3a165727b16c 280w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=34ddd12a3e56c69dab4c77d53c3183ac 560w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=57d75917adf39c7ddceb23a85cb31991 840w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=8e6191fbac51565d250ad9e95a241a1b 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=881de152ff086e773e26bda6cee48ed1 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/4Bd5KbS4lVnIS_J5/docs/images/ja-jp/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=4Bd5KbS4lVnIS_J5&q=85&s=4d5cd7f27dc415b1a1fd2d306944623e 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-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=f731bd435254a54bf9c4ecbf5c90fce8" 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-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=d6442b3c6f5501ae04f37058ae7da69c 280w, https://mintcdn.com/docs-staging-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=559a56d9a04963b9bdd5e15a99d1ed03 560w, https://mintcdn.com/docs-staging-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=3821136a04f418653ca43eaaf244888e 840w, https://mintcdn.com/docs-staging-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=e74ffba5197151af34415249235cf62d 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=4601556f02ff72462af10ec14a56ce9f 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/xAYIawodadigk4vq/docs/images/ja-jp/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=xAYIawodadigk4vq&q=85&s=d97069a61268bb94104f6861b4937304 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-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=961c80dc921a2dde601b892ab0b81e6f" 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-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=8c8fe1a0bc23730a0319ada1aad6b768 280w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=553cc27dd65ad45c2c4b4ce7b30edbca 560w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=be4dd9f06bad9cd75bb3c9c2102d9343 840w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=0897566397076f9cbc7ad0ba792a6215 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=731d6e6a10925c1b1bd6379e8c0afec6 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/22m6ShuDwSXDThEd/docs/images/ja-jp/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=22m6ShuDwSXDThEd&q=85&s=d4ded05412bad8b984a6b44d3dce7f91 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-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=89a560d58e09dfed573bb2899e8ee1ea" 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-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=68e5d39807425436939ea1fc63c3f8da 280w, https://mintcdn.com/docs-staging-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=d5136a5abc71f285a0b6a69e0731620b 560w, https://mintcdn.com/docs-staging-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=3a211b8fe4f8aaef48a912f68bda6a9b 840w, https://mintcdn.com/docs-staging-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=8c23ca0e68895cf23bebdb8ff9b6a3fa 1100w, https://mintcdn.com/docs-staging-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=f63c8516882ce1f1009a217f9fb9c8b5 1650w, https://mintcdn.com/docs-staging-feat-universal-portals/oYVV-3TZpT2guhQf/docs/images/ja-jp/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=oYVV-3TZpT2guhQf&q=85&s=e5e6e61330d92268e78c834dbe55115e 2500w" />
   </Frame>

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

### 実装をテストする

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

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