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

> Configurez Cisco Duo Security comme facteur d’AMF Auth0 à l’aide de vos identifiants Duo Web SDK, notamment la clé d’intégration, la clé secrète et le nom d’hôte de l’API.

# Configurer Cisco Duo Security pour l’AMF

export const AuthCodeBlock = ({filename, icon, language, highlight, children}) => {
  const [displayText, setDisplayText] = useState(children);
  const [copyText, setCopyText] = useState(children);
  const wrapperRef = React.useRef(null);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      if (!window.autorun || !window.rootStore) {
        return;
      }
      unsubscribe = window.autorun(() => {
        let processedChildrenForDisplay = children;
        let processedChildrenForCopy = children;
        for (const [key, value] of window.rootStore.variableStore.values.entries()) {
          const escapedKey = key.replaceAll(/[.*+?^${}()|[\]\\]/g, (String.raw)`\$&`);
          let displayValue = value;
          if (key === "{yourClientSecret}" && value !== "{yourClientSecret}") {
            displayValue = value.substring(0, 3) + "*****MASQUÉ*****";
          }
          processedChildrenForDisplay = processedChildrenForDisplay.replaceAll(new RegExp(escapedKey, "g"), displayValue);
          processedChildrenForCopy = processedChildrenForCopy.replaceAll(new RegExp(escapedKey, "g"), value);
        }
        setDisplayText(processedChildrenForDisplay);
        setCopyText(processedChildrenForCopy);
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [children]);
  useEffect(() => {
    if (!wrapperRef.current) return;
    const originalWriteText = navigator.clipboard.writeText.bind(navigator.clipboard);
    let isOverriding = false;
    const handleClick = e => {
      const button = e.target.closest('[data-testid="copy-code-button"]');
      if (!button || !wrapperRef.current.contains(button)) return;
      isOverriding = true;
      navigator.clipboard.writeText = text => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
          return originalWriteText(copyText);
        }
        return originalWriteText(text);
      };
      setTimeout(() => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
        }
      }, 100);
    };
    const wrapper = wrapperRef.current;
    wrapper.addEventListener('click', handleClick, true);
    return () => {
      wrapper.removeEventListener('click', handleClick, true);
      if (navigator.clipboard.writeText !== originalWriteText) {
        navigator.clipboard.writeText = originalWriteText;
      }
    };
  }, [copyText]);
  return <div ref={wrapperRef}>
      <CodeBlock filename={filename} icon={icon} language={language} lines highlight={highlight}>
        {displayText}
      </CodeBlock>
    </div>;
};

<Card title="Avant de commencer">
  * Configurez votre compte Duo. Pour en savoir plus, consultez [Premiers pas dans la documentation Duo](https://duo.com/docs/getting-started#getting-started).
  * Créez une [intégration Duo Security Web SDK](https://duo.com/docs/duoweb) et notez les identifiants **Integration Key**, **Secret Key** et **API hostname**.
</Card>

Cisco Duo est un fournisseur d’authentification multifonction qui ne peut être utilisé dans votre tenant Auth0 que si tous les autres facteurs sont désactivés. Selon votre configuration, votre compte Duo peut prendre en charge les notifications push, les SMS, les OTP, les appels téléphoniques et plus encore.

Vous ne pouvez pas activer Duo si d’autres facteurs sont déjà activés. Duo n’est offert aux utilisateurs que lorsqu’il est le seul facteur activé.

L’application demandera à l’utilisateur de fournir le second facteur avec Duo et affichera les options que vous avez activées dans votre compte Duo.

Vos utilisateurs peuvent télécharger Duo à partir de [Google Play](https://play.google.com/store/apps/details?id=com.duosecurity.duomobile) ou de l’[App Store](https://itunes.apple.com/us/app/duo-mobile/id422663827?mt=8) pour l’utiliser comme second facteur.

<div id="configure-duo">
  ## Configurer Duo
</div>

Pour configurer Duo Security, vous devez fournir à votre application vos identifiants Duo dans le <Tooltip tip="Auth0 Dashboard : le produit principal d’Auth0 pour configurer vos services." cta="Consulter le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>.

1. Accédez à [Dashboard > Sécurité > Authentification multifacteur > Duo Security](https://manage.auth0.com/#/security/mfa/duo) et activez-la.
2. Saisissez les renseignements dans les champs pour lier votre compte Duo à Auth0.
3. Sélectionnez **Enregistrer**.

<div id="use-actions-to-enable-duo">
  ## Utiliser Actions pour activer Duo
</div>

Pour activer Duo dans une Action, indiquez `duo` comme valeur du paramètre `provider` lorsque vous activez l’<Tooltip tip="authentification multifacteur (AMF) : processus d’authentification d’un utilisateur qui utilise un facteur en plus du nom d’utilisateur et du mot de passe, comme un code par SMS." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=multi-factor+authentication">authentification multifacteur</Tooltip>.

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

Duo n’offre pas d’option "Se souvenir de moi". La session AMF de 30 jours est codée en dur pour se souvenir de l’utilisateur après la connexion initiale.

Pour obliger vos utilisateurs à se connecter avec Duo à chaque fois, créez une règle avec `allowRememberBrowser: false`.

<div id="actions-template-for-duo">
  ## Modèle d’Actions pour Duo
</div>

Ce modèle fournit un exemple et un point de départ pour déclencher l’authentification multifacteur avec [Duo Security](http://duosecurity.com/) lorsqu’une condition est remplie.

Lors de la première connexion, l’utilisateur peut enregistrer l’appareil.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Vous devez créer deux intégrations dans Duo Security : une de type **Web SDK** et une de type **Admin SDK**.
</Callout>

export const codeExample = `exports.onExecutePostLogin = async (event, api) => {

	const CLIENTS_WITH_MFA = ['{yourClientId}'];
	// s’exécute uniquement pour les clients indiqués
	if (CLIENTS_WITH_MFA.includes(event.client.client_id)) {

		// décommentez la clause if suivante si vous voulez demander un second facteur uniquement aux utilisateurs pour lesquels user_metadata.use_mfa === true
		//if (event.user.user_metadata && event.user.user_metadata.use_mfa){

		// facultatif; la valeur par défaut est true. Définissez false pour forcer DuoSecurity à chaque fois.
		// Consultez https://auth0.com/docs/multifactor-authentication/custom#change-the-frequency-of-authentication-requests pour en savoir plus
		api.multifactor.enable('duo', {
			providerOptions.ikey: configuration.DUO_IKEY,
			providerOptions.skey: configuration.DUO_SKEY,
			providerOptions.host: configuration.DUO_HOST,
			allowRememberBrowser: false
		})

		// facultatif. Utilisez un attribut du profil comme nom d’utilisateur dans DuoSecurity. C’est aussi utile si vos utilisateurs sont déjà inscrits à Duo.
		// username: event.user.nickname
	};
	// }

};`;

<AuthCodeBlock children={codeExample} language="js" />

<div id="current-limitations">
  ## Limitations actuelles
</div>

* Vous ne pouvez pas utiliser les [tickets d’inscription AMF Auth0](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/create-custom-enrollment-tickets) pour inscrire des utilisateurs avec Duo. Intégrez plutôt ces utilisateurs directement dans Duo.
* Si vous utilisez <Tooltip tip="Universal Login : votre application redirige vers Universal Login, hébergé sur l’Authorization Server d’Auth0, pour vérifier l’identité d’un utilisateur." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Universal+Login">Universal Login</Tooltip>, vous devez activer Duo dans une Action avec `provider` défini sur `duo`, comme décrit précédemment. Vous pouvez utiliser Duo ou le fournisseur Auth0 intégré de façon conditionnelle pour certaines applications.
