> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cas d’utilisation : Configurer un formulaire de politique de mise à jour à l’aide des formulaires.

> Configurer un formulaire de politique de mise à jour à l’aide des formulaires pour Actions.

<Card title="Avant de commencer">
  1. Créez une [application machine-machine](https://auth0.com/docs/get-started/auth0-overview/create-applications/machine-to-machine-apps) avec les permissions suivantes activées :

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

  2. Ajoutez une [Connexion au coffre-fort](/docs/fr-ca/customize/forms/vault) en utilisant les informations d’identification de l’application machine-machine (M-M).
</Card>

Les formulaires pour Actions vous permettent de créer des flux de politiques de confidentialité personnalisés et de stocker le consentement avec l’objet `app_metadata` .

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png" alt="Dashboard > Actions > Forms > Privacy policy use case" />
</Frame>

Les sections ci-dessous décrivent comment créer un formulaire de politique de mise à jour en utilisant des nœuds et des flux, ainsi que les étapes pour ajouter votre formulaire à une action [post-connexion](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger).

## Créer un formulaire à partir de zéro

Suivez ces étapes pour créer un formulaire afin de recueillir des informations :

1. Ouvrez l’éditeur de formulaires en sélectionnant **Auth0 Dashboard (tableau de bord Auth0) > Actions > Forms (formulaires).**
2. Sélectionnez **Créer un formulaire** > **Commencer à partir de zéro**.

Par défaut, un nouveau formulaire contient un nœud Début, un nœud Étape et un nœud Éran fin.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png" alt="Dashboard > Forms > Use Cases > Form" />
</Frame>

### Configurer le nœud d’étape

Le nœud d’étape est l’interface graphique visible par les utilisateurs. Ajoutez des [champs](/docs/fr-ca/customize/forms/nodes-and-components) au nœud d’étape pour recueillir la nouvelle valeur d’acceptation de l’accord en suivant ces étapes :

1. Faites glisser un champ **Rich text (Texte enrichi)** depuis le **Components menu (Menu composants)** dans le nœud **d’étape**.

   * **Rich text (Texte enrichi)**: Saisissez une description des mises à jour de vos politiques de confidentialité.
   * Sélectionnez **Save (Enregistrer)**.
2. Faites glisser un champ **Legal (Légal)** dans le nœud **d’étape** .

   * **Identification** : Saisissez `privacy_policies`.
   * **Obligatoire** : Cochez la case.
   * **Légal** : Saisissez `J’accepte la politique de confidentialité`.
   * Sélectionnez **Save (Enregistrer)**.
3. Sélectionnez **Publish (Publier)** pour enregistrer.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png" alt="Dashboard > Actions > Forms > Use case privacy policy step node" />
</Frame>

### Configurez le nœud Flow

Ajoutez un node **Flow** après le nœud **d’étape** pour mettre à jour les `app_metadata` et reprendre le flux d’authentification en suivant ces étapes :

1. Sélectionnez **Flow (Flux)** en bas de Form Editor (Éditeur de formulaire).
2. Supprimez le lien existant entre les nœuds **Step (Étape)** et **Ending Screen (Écran de fin)**.
3. Sélectionnez le nouveau **Flow (Flux)** > **Click to add a flow (Cliquer pour ajouter un flux)** > **Create a new flow (Créer un nouveau flux).**

   * Entrez `Update app_metadata (Mettre à jour app_metadata)` dans le champ **Name (Nom)**.
   * Sélectionnez **Create (Créer)**.
   * Sélectionnez **Save (Enregistrer)**.
4. Liez le nœud **Flow (Flux)** aux nœuds **Step (Étape)** et **Ending Screen (Écran de fin)** comme illustré ci-dessous.
5. Sélectionnez **Publish (Publier)** pour enregistrer.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png" alt="Dashboard > Actions > Forms > Form" />
</Frame>

Ajoutez une action de mise à jour d’utilisateur Auth0 au flux en suivant ces étapes :

1. Sélectionnez le **fluxUpdate app\_metadata (Mise à jour de app\_metadata)** > **Edit flow (Modifier le flux)** pour ouvrir l’éditeur de flux dans un nouvel onglet.
2. Sous l’Action **Start (Démarrage)**, sélectionnez l’icône **+** pour ajouter une Action **Update user (Mise à jour de l’utilisateur)** . Remplissez les champs ci-dessous, puis sélectionnez **Save (Enregistrer)** pour continuer.

   * **Connection** : dans la liste déroulante, sélectionnez la connexion au coffre-fort de votre application de communication entre machines.

   * **User ID** (ID utilisateur) : Saisissez `{{context.user.user_id}}`.

   * **Corps** : Copiez et collez le code suivant pour mettre à jour les app\_metadata avec les propriétés privacy\_policies et privacy\_policies\_timestamp.

     ```
     {
       "app_metadata": {
         "privacy_policies": true,
         "privacy_policies_timestamp": "{{ functions.toTimestamp() }}"
       }
     }
     ```

   * Sélectionnez **Save (Enregistrer)**.
3. Sélectionnez **Publish (Publier)** pour enregistrer.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png" alt="Dashboard > Actions > Forms > User case privacy policy code" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Le flux **Update app\_metadata** ajoute une valeur `privacy_policies true` à l’objet `app_metadata` et génère également un horodatage à l’aide d’une [fonction d’assistance](/docs/fr-ca/customize/forms/variables)
</Callout>

## Récupérer le code de rendu du formulaire

Récupérez votre code de rendu du formulaire pour afficher visuellement le formulaire avec une Action post-connexion personnalisée en suivant ces étapes :

* Dans l’éditeur de formulaire, sélectionnez **\<> Render (Rendre)**.
* Sélectionnez **Copy (Copier)**.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png" alt="Dashboard > Actions > Forms > Form > Embed" />
</Frame>

## Créer une action post-connexion

Créez une action post-connexion pour afficher votre formulaire en suivant ces étapes :

1. Naviguez vers **Auth0 Dashboard > Actions > Flows (Flux) > Login (Connexion).**
2. Sélectionnez l’icône **+** et choisissez **Build from scratch (Construire à partir de zéro)**:

   * **Name (Nom)** : Saisissez `Render Update Policy Form (Formulaire de politique de mise à jour du rendu)`.
   * **Déclencheur** : Sélectionnez `Login / Post Login (Connexion / Post-connexion)`.
   * **Runtime (Temps d’exécution)** : Sélectionnez la version recommandée.
3. Sélectionnez **Create (Créer)**.

Pour configurer l’action post-connexion.

1. Supprimez le code existant dans l’éditeur de code.

2. Collez le code de rendu du formulaire dans l’éditeur de code.

3. Modifiez le code pour définir la logique conditionnelle d’affichage du formulaire.

   ```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">
     L’exemple de code ci-dessus affiche le formulaire lorsque la propriété `privacy_policies` ne se trouve pas dans les métadonnées de l’application.
   </Callout>

4. Sélectionnez **Deploy (Déployer)**.

5. Glissez et déposez l’Action **Render Update Policy Form (Formulaire de mise à jour de la politique de rendu)** dans le flux de **Login (Connexion)** .

   <Frame>
     <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-triggers-prototype/docs/images/fr-ca/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png" alt="Dashboard > Forms > Use Case > Render update policy form login action" />
   </Frame>

6. Sélectionnez **Apply (Appliquer).**

### Test de mise en œuvre

Testez la mise en œuvre en suivant les étapes ci-dessous :

1. Se connecter avec un utilisateur existant dont l’attribut `privacy_policies` de `app_metadata` n’a pas de valeur.
2. L’action post-connexion dans le flux de connexion rendra le formulaire et demandera l’approbation.
3. Sélectionnez **Auth0 Dashboard > User Management (Gestion des utilisateurs) > Users (Utilisateurs),** localisez l’utilisateur et vérifiez que l’attribut `app_metadata``privacy_policies` contient une valeur `true` et un horodatage.
