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

> Découvrez comment personnaliser les pages d’authentification multifacteur (MFA) qui s’affichent aux utilisateurs à l’aide des options d’image de marque d’Universal Login.

# Personnaliser les pages d’authentification multifacteur

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Ces personnalisations ne s’appliquent pas à Duo, qui possède sa propre interface utilisateur.
</Callout>

Vous pouvez personnaliser les pages <Tooltip tip="Authentification multifacteur (MFA) : processus d’authentification des utilisateurs qui utilise un facteur en plus du nom d’utilisateur et du mot de passe, comme un code envoyé par SMS." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=MFA">MFA</Tooltip> qui s’affichent à vos utilisateurs en modifiant les options d’image de marque de <Tooltip tip="Authentification multifacteur (MFA) : processus d’authentification des utilisateurs qui utilise un facteur en plus du nom d’utilisateur et du mot de passe, comme un code envoyé par SMS." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Universal+Login">Universal Login</Tooltip> dans la section [Paramètres d’Universal Login](https://manage.auth0.com/#/login_settings) de l’<Tooltip tip="Auth0 Dashboard : principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>.

Si vous utilisez l’expérience Universal Login, vous pouvez personnaliser la page à l’aide de ses options de personnalisation du flux.

Vous pouvez aussi personnaliser l’ensemble du contenu HTML pour répondre aux exigences particulières de votre organisation en matière d’expérience utilisateur. Pour en savoir plus, consultez [MFA Widget Theme Options](/docs/fr-ca/secure/multi-factor-authentication/customize-mfa/mfa-widget-theme-options).

Avec l’expérience Universal Login, l’authentification MFA est présentée de manière encore plus simple à l’utilisateur. Une fois ses informations d’identification saisies pour se connecter, l’écran MFA s’affiche. Si aucun facteur MFA n’est inscrit, on lui demandera d’en inscrire un; dans le cas contraire, on lui demandera d’utiliser son facteur MFA.

<div id="use-the-mfa-api">
  ## Utiliser l’API MFA
</div>

Auth0 fournit une [API MFA](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/mfa-api) pour les scénarios suivants :

* [Authentifier les utilisateurs avec le Resource Owner Password Grant](/docs/fr-ca/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa).
* Créer une interface pour [permettre aux utilisateurs de gérer leurs propres facteurs d’authentification](/docs/fr-ca/secure/multi-factor-authentication/manage-mfa-auth0-apis/manage-authenticator-factors-mfa-api).
* Inviter les utilisateurs à s’inscrire à l’authentification multifacteur à l’aide de [tickets d’inscription](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/create-custom-enrollment-tickets).

Pour utiliser l’API MFA, vous devez activer le type d’autorisation MFA pour votre application. Pour activer l’autorisation MFA dans l’Auth0 Dashboard :

1. Accédez à [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) et sélectionnez votre application.
2. Au bas de l’onglet **Settings**, cliquez sur **Advanced Settings**.
3. Cliquez sur l’onglet **Grant Types** et sélectionnez **MFA**.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-feat-init-gt-translations/k7ye6-pv0VL5gE4A/docs/images/cdy7uua7fh8z/3knG7flXhvUi0b2yhH0JEp/007e84fe56a9828ea59e9d06e0516d34/Screen_Shot_2021-05-18_at_2.24.26_PM.png?fit=max&auto=format&n=k7ye6-pv0VL5gE4A&q=85&s=acb505cc11e0c52ea2fa6fe30e08a087" alt="Onglet Grant Types dans Advanced Settings de Dashboard Applications Applications" width="698" height="387" data-path="docs/images/cdy7uua7fh8z/3knG7flXhvUi0b2yhH0JEp/007e84fe56a9828ea59e9d06e0516d34/Screen_Shot_2021-05-18_at_2.24.26_PM.png" />
   </Frame>

   Pour en savoir plus, consultez [Activer l’authentification multifacteur](/docs/fr-ca/secure/multi-factor-authentication/enable-mfa).
4. Cliquez sur **Save Changes**.

<div id="limitations">
  ### Limitations
</div>

L’API MFA est conçue pour fonctionner avec les facteurs SMS, les notifications push dans l’application Guardian, Email et OTP. Elle ne prend pas en charge l’inscription avec Duo.

<div id="customize-mfa-policy-with-actions">
  ## Personnaliser la politique MFA avec Actions
</div>

Vous pouvez utiliser Actions pour personnaliser la politique MFA de votre tenant, notamment en exigeant la MFA pour les utilisateurs d’applications particulières, les utilisateurs ayant des métadonnées utilisateur précises ou provenant de plages d’adresses IP précises, et plus encore.

Si vous ne savez pas comment créer des Actions, consultez [Write Your First Action](/docs/fr-ca/customize/actions/write-your-first-action).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Tout comportement lié à la MFA défini dans Actions prévaut sur les paramètres **Define policy** configurés dans la section **Multi-Factor Auth** du Dashboard.

  Pour en savoir plus, consultez [Enable Multi-Factor Authentication](/docs/fr-ca/secure/multi-factor-authentication/enable-mfa).
</Callout>

Lorsque vous écrivez des Actions, vous pouvez utiliser le paramètre `provider` pour préciser s’il faut forcer la MFA et quel facteur utiliser. Le comportement diffère selon que vous utilisez l’expérience Classic ou l’expérience Universal Login :

| Provider             | Expérience Classic   | Nouvelle expérience                                                   |
| -------------------- | -------------------- | --------------------------------------------------------------------- |
| any                  | Push, SMS ou OTP     | Push, SMS, Voice, OTP, Email ou clé de sécurité WebAuthn (si activée) |
| guardian             | Push, SMS ou OTP     | Push, SMS, OTP ou Email                                               |
| google-authenticator | Google Authenticator | Push, SMS, OTP ou Email                                               |
| duo                  | Duo                  | Duo                                                                   |

Si vous utilisez Universal Login, vous pouvez obtenir le comportement de l’expérience Classic Login si vous activez la personnalisation de la page de connexion MFA.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Les options `guardian` et `google-authenticator` sont d’anciens paramètres conservés pour des raisons de rétrocompatibilité et ne devraient plus être utilisées dorénavant. Nous recommandons d’utiliser `any` à la place. L’option `google-authenticator` ne permet pas aux utilisateurs de s’inscrire à un code de récupération.
</Callout>

Le fait de définir manuellement `provider` sur une option précise remplace les bascules activées/désactivées dans le Dashboard. Vous pouvez utiliser l’Action suivante pour inviter l’utilisateur à configurer Duo, même si d’autres facteurs sont activés dans le Dashboard :

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
    // Forcer le fournisseur vers Duo par programmation
    api.multifactor.enable('duo')
}
```

<div id="common-use-case-examples">
  ## Exemples de cas d’utilisation courants
</div>

Voici quelques scénarios courants d’authentification multifacteur contextuelle qui peuvent être pris en charge par Actions.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Pour vous assurer que votre tenant n’active l’authentification multifacteur que lorsque vous l’exigez explicitement dans vos Actions, définissez la politique d’authentification multifacteur par défaut de votre tenant sur **Never**.

  Pour en savoir plus, consultez la section « Policies » dans [Facteurs d’authentification multifacteur](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-factors#policies).
</Callout>

<div id="require-mfa-for-specific-applications">
  ### Exiger MFA pour certaines applications
</div>

Vous pouvez personnaliser MFA pour qu’elle se déclenche uniquement lorsque les utilisateurs se connectent à certaines applications.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
	const CLIENTS_WITH_MFA = [
		'{yourClientId1}', 
		'{yourClientId2}',
		'{yourClientId3}'
	];

	if (CLIENTS_WITH_MFA.includes(event.client.client_id)) {
		api.multifactor.enable('duo', { allowRememberBrowser: false })
	}
}
```

<div id="require-mfa-for-specific-users">
  ### Exiger MFA pour certains utilisateurs
</div>

Vous pouvez personnaliser MFA afin qu’elle ne se déclenche que pour les utilisateurs désignés pour utiliser MFA.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (event.user.user_metadata && event.user.user_metadata.use_mfa) {
    api.multifactor.enable('duo', { allowRememberBrowser: false });
  }
}
```

<div id="change-frequency-of-mfa-prompts">
  ### Modifier la fréquence des invites MFA
</div>

Dans certains cas, vous ne souhaiterez peut-être pas demander la MFA à l'utilisateur chaque fois qu'il se connecte à partir du même navigateur. C'est ce que permet la fonctionnalité Remember Me, que les utilisateurs peuvent activer au moyen d'une case à cocher sur votre page de connexion et qui est activée par défaut pour la connexion universelle et la connexion classique.

<Warning>
  Les clients sont responsables de toute diminution de la posture de sécurité découlant d'une modification de la durée de vie du comportement de session « Remember Me » au-delà de la configuration standard recommandée par Okta.
</Warning>

<Tabs>
  <Tab title="Auth0 Dashboard">
    | **Paramètre**                                        | **Valeur par défaut** | **Plage**          |
    | ---------------------------------------------------- | --------------------- | ------------------ |
    | Durée de vie d'inactivité du navigateur de confiance | 7 jours               | 1 heure à 30 jours |
    | Durée de vie maximale du navigateur de confiance     | 30 jours              | 1 heure à 90 jours |

    1. Accédez à [**Auth0 Dashboard > Sécurité > Authentification multifacteur**](https://manage.auth0.com/#/security/mfa).
    2. Faites défiler jusqu'à **Paramètres supplémentaires**.
    3. Activez **Autoriser l'utilisateur à ignorer la MFA sur les navigateurs de confiance**.
    4. Cochez la case **Mémoriser les navigateurs par défaut**.
    5. Configurez la **Durée de vie d'inactivité du navigateur de confiance** en jours ou en heures.
    6. Configurez la **Durée de vie maximale du navigateur de confiance** en jours ou en heures.
  </Tab>

  <Tab title="Management API">
    **Permissions requises :** `read:tenant_settings` (GET), `update:tenant_settings` (PUT)

    Pour récupérer les paramètres Guardian actuels, envoyez une requête `GET` à `/api/v2/guardian/settings` :

    ```bash cURL theme={null}
    curl --request GET \
      --url 'https://{YOUR_AUTH0_DOMAIN}/api/v2/guardian/settings' \
      --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN'
    ```

    Pour mettre à jour les paramètres Guardian, envoyez une requête `PUT` à `/api/v2/guardian/settings` :

    ```bash cURL theme={null}
    curl --request PUT \
      --url 'https://{YOUR_AUTH0_DOMAIN}/api/v2/guardian/settings' \
      --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
      --header 'content-type: application/json' \
      --data '{ "display_remember_me_checkbox": true, "remember_me_default_value": true, "mfa_session_inactivity_timeout": 604800, "mfa_session_overall_timeout": 2592000 }'
    ```

    | **Propriété**                    | **Type**          | **Valeur par défaut** | **Description**                                                                                                            |
    | -------------------------------- | ----------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------- |
    | `display_remember_me_checkbox`   | booléen           | `false`               | Détermine si la case à cocher **Mémoriser ce navigateur** s'affiche dans l'invite MFA de la connexion universelle.         |
    | `remember_me_default_value`      | booléen           | `false`               | Détermine si la case à cocher **Mémoriser ce navigateur** est cochée par défaut.                                           |
    | `mfa_session_inactivity_timeout` | entier (secondes) | `604800` (7 jours)    | Durée d'inactivité après laquelle la MFA est demandée à l'utilisateur. Ne peut pas dépasser `mfa_session_overall_timeout`. |
    | `mfa_session_overall_timeout`    | entier (secondes) | `2592000` (30 jours)  | Durée maximale après laquelle la MFA est demandée à l'utilisateur, peu importe son activité.                               |
  </Tab>

  <Tab title="Auth0 Actions">
    Vous pouvez définir à `true` la propriété `allowRememberBrowser` de l'[objet Post-Login API d'Auth0 Actions](/docs/fr-ca/actions/reference/post-login/post-login-api-object) :

    ```js lines theme={null}
    exports.onExecutePostLogin = async (event, api) => {
      api.multifactor.enable('any', { allowRememberBrowser: true });
    }
    ```

    Selon la valeur de la propriété, le comportement sera le suivant :

    | Valeur  | Description                                                                                                                                                                                                                                                                                                                                                                                                                |
    | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `true`  | Lorsque le fournisseur est défini à `google-authenticator` ou `duo`, la MFA est demandée à l'utilisateur une fois par session, dans les limites de la durée de vie du navigateur de confiance que vous avez configurée. Lorsque le fournisseur est défini à `guardian`, l'invite MFA affiche la case à cocher d'inscription permettant aux utilisateurs de choisir de s'inscrire ou non. La valeur par défaut est `false`. |
    | `false` | La MFA est demandée à l'utilisateur chaque fois qu'il s'authentifie.                                                                                                                                                                                                                                                                                                                                                       |
  </Tab>
</Tabs>

Les valeurs temporelles s'appliquent aux utilisateurs actifs. Si un utilisateur demeure inactif pendant une certaine période, son témoin expirera et la MFA lui sera demandée lors de sa prochaine tentative de connexion (peu importe le paramètre Remember Me).

Lorsque vous permettez à l'utilisateur d'ignorer la MFA, un témoin est stocké dans son navigateur. Si le témoin est déjà présent, mais que vous souhaitez tout de même exiger la MFA, vous avez deux options :

* Définir `allowRememberBrowser` à `false`
* Définir `acr_values` à `http://schemas.openid.net/pape/policies/2007/06/multi-factor` lors de l'appel au terminal `/authorize`.

Si un utilisateur perd un appareil de confiance, vous pouvez exiger la MFA pour cet utilisateur lors de sa prochaine connexion en appelant le terminal Auth0 <Tooltip tip="Management API : un produit qui permet aux clients d’effectuer des tâches administratives." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip> [Invalidate Remember Browser](https://auth0.com/docs/api/management/v2#!/Users/post_invalidate_remember_browser).

<div id="require-mfa-for-users-outside-of-the-network">
  ### Exiger la MFA pour les utilisateurs à l’extérieur du réseau
</div>

En supposant que l’accès au réseau d’adresses IP internes spécifié soit bien contrôlé, vous pouvez aussi faire en sorte qu’Auth0 ne demande la MFA qu’aux utilisateurs dont les requêtes proviennent de l’extérieur du réseau d’entreprise :

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  const ipaddr = require('ipaddr.js@1.9.0');
  const corp_network = '192.168.1.134/26';
  const current_ip = ipaddr.parse(event.request.ip);

  if (!current_ip.match(ipaddr.parseCIDR(corp_network))) {
    api.multifactor.enable('any', {allowRememberBrowser: false});
  }
}
```

<div id="bypass-mfa-for-refresh-token-requests">
  ### Contourner la MFA pour les requêtes de jeton d’actualisation
</div>

Si vos utilisateurs signalent des déconnexions fréquentes, vous devrez peut-être contourner la MFA pour les requêtes de <Tooltip tip="Jeton d’actualisation : jeton utilisé pour obtenir un jeton d’accès renouvelé sans obliger les utilisateurs à se connecter de nouveau." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=refresh+token">jeton d’actualisation</Tooltip>. Vous pouvez modifier le comportement par défaut au moyen d’une Action de filtre sur la propriété d’objet `event.transaction.protocol`.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (event.transaction.protocol !== 'oauth2-refresh-token') {
    // Commandes liées à l'AMF ici
    api.multifactor.enable('any');
  }
};
```

Pour en savoir plus sur l’objet `event` de l’Action, consultez [Déclencheurs d’Actions : post-login - objet Event](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object).

<div id="learn-more">
  ## En savoir plus
</div>

* [Personnaliser MFA pour Classic Login](/docs/fr-ca/secure/multi-factor-authentication/customize-mfa/customize-mfa-classic-login)
* [S’authentifier à l’aide du Resource Owner Password Flow avec MFA](/docs/fr-ca/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa)
* [Auth0 MFA API](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/mfa-api)
* [Gérer les facteurs d’authentification avec l’Authentication API](/docs/fr-ca/secure/multi-factor-authentication/manage-mfa-auth0-apis/manage-authenticator-factors-mfa-api)
* [Options de thème du MFA Widget](/docs/fr-ca/secure/multi-factor-authentication/customize-mfa/mfa-widget-theme-options)
* [Language Dictionary du thème MFA](/docs/fr-ca/secure/multi-factor-authentication/customize-mfa/mfa-theme-language-dictionary)
