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

> Explique comment créer et tester un contrôleur de domaine Active Directory.

# Configurer l’environnement de test d’AD/LDAP Connector

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>;
};

export const codeExample = `https://{yourDomain}/authorize?response_type=token&scope=openid%20profile&client_id={yourClientId}&redirect_uri=http%3A%2F%2Fjwt.io&connection=auth0-test-ad`;

Vous pouvez configurer un environnement de test en créant une installation minimale d’un contrôleur de domaine AD sur une machine virtuelle (VM) déployée dans le nuage. Vous pouvez exécuter votre VM sur n’importe quelle plateforme infonuagique. Cet exemple montre comment en configurer une dans Microsoft Azure.

1. Créez une machine virtuelle dans la console [Azure Management](https://azure.microsoft.com/en-us/features/azure-portal/).
2. Cliquez sur l’onglet **ENDPOINTS** de la nouvelle VM et notez le **PUBLIC PORT** du point de terminaison **Remote Desktop**.
3. Ouvrez le client Microsoft Remote Desktop (Windows ou Mac) ou le client de votre choix (comme [rdesktop](http://www.rdesktop.org/) pour les systèmes Linux). Créez une nouvelle connexion à votre VM.
4. Ouvrez la connexion en ignorant tout avertissement de certificat affiché par le client Remote Desktop. Si on vous demande d’autoriser la découverte des PC, des appareils et du contenu sur le réseau local, choisissez **No**.
5. Cliquez sur l’icône PowerShell dans la barre des tâches de Windows pour ouvrir l’**invite de commandes PowerShell**. Installez ADDS.
6. Faites du serveur un contrôleur de domaine qui gère le FQDN `mycompany.local`.
7. Lorsque le système vous demande le **SafeModeAdministratorPassword**, entrez le mot de passe administrateur que vous avez utilisé lors de la création de la VM. Appuyez sur Entrée pour continuer. Le script de promotion s’exécutera et la VM redémarrera automatiquement.
8. Ajoutez des groupes et des utilisateurs de test. Connectez-vous à la VM à l’aide du client Remote Desktop et ouvrez l’invite de commandes PowerShell. Exécutez le script suivant :

   ```text lines theme={null}
   > New-ADGroup -Name "Accounting" -GroupScope "DomainLocal"
   > New-ADGroup -Name "IT" -GroupScope "DomainLocal"

   > New-ADUser -GivenName Bob -Surname Johnson -Name "Bob Johnson" -SamAccountName bob.johnson -Enabled $True -AccountPassword (ConvertTo-SecureString "Pass@word1!" -AsPlainText -force) -PasswordNeverExpires $True
   > New-ADUser -GivenName Mary -Surname Smith -Name "Mary Smith" -SamAccountName mary.smith -Enabled $True -AccountPassword (ConvertTo-SecureString "Pass@word1!" -AsPlainText -force) -PasswordNeverExpires $True

   > Add-ADGroupMember -Identity Accounting -Members "bob.johnson", "mary.smith"
   > Add-ADGroupMember -Identity IT -Members "mary.smith"
   ```

<h2 id="install-and-configure-adldap-connector">
  Installer et configurer AD/LDAP Connector
</h2>

1. Accédez à [Auth0 Dashboard > Authentication > Enterprise](https://manage.auth0.com/#/connections/enterprise), puis créez une nouvelle connexion **Active Directory/LDAP** nommée `auth0-test-ad`. Assurez-vous de copier l’**URL du ticket** générée à la fin de ces instructions.
2. Sur la VM, désactivez **Internet Explorer Enhanced Security Configuration**.
3. Ouvrez **Internet Explorer** à l’aide de l’**URL du ticket** enregistrée à l’étape 1.
4. Suivez les instructions dans le navigateur pour télécharger, installer et configurer le **Connector**. Lorsque le compte de service LDAP vous est demandé, utilisez le compte administrateur que vous avez créé pour la VM : **Nom d’utilisateur** : `mycompany\ad-admin,` **Mot** de passe : (le même qu’auparavant).
5. Une fois la configuration et l’installation du **Connector** terminées, redémarrez le serveur.
6. Ouvrez de nouveau une session sur la VM à l’aide de Remote Desktop.
7. Ouvrez le site de configuration du **Connector** en accédant à `http://localhost:8357/`.
8. Vérifiez que le **Connector** peut trouver un utilisateur :

   1. Cliquez sur l’onglet **Search**.
   2. Sous « Find User by Login », saisissez `mary.smith`.
   3. Cliquez sur **Search**. Vous devriez obtenir une réponse JSON contenant les données de profil AD de cet utilisateur :

<h2 id="test-authentication-from-auth0">
  Tester l’authentification à partir d’Auth0
</h2>

Pour vous assurer que tout fonctionne avec votre compte Auth0, nous allons configurer votre **Default App** dans Auth0 pour utiliser votre nouvelle connexion **Active Directory / LDAP**, puis utiliser le point de terminaison `/authorize` pour lancer un flux d’authentification.

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications).

2. Cliquez sur l’icône **Settings** de votre **Default App**.

3. Ajoutez `http://jwt.io` à la liste des **Allowed Callback URLs** de l’**Application**.

4. Cliquez sur l’onglet **Connections**.

5. Sous **Enterprise**, activez la connexion **Active Directory / LDAP** `auth0-test-ad`.

6. Testez le flux d’authentification en ouvrant le lien suivant dans votre navigateur :

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

7. Connectez-vous avec l’un des utilisateurs de test créés dans l’annuaire :

   * Nom d’utilisateur : `mary.smith` ou `bob.johnson`
   * Mot de passe : `Pass@word1!`

8. Si tout fonctionne, vous devriez être redirigé vers le site Web de JWT.io pour voir le contenu du JWT obtenu.
