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

# Configuration de l’environnement de test du connecteur AD/LDAP

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

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) + "*****MASKED*****";
          }
          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 de contrôleur de domaine AD sur une machine virtuelle (VM) déployée dans le nuage. Vous pouvez faire fonctionner votre VM sur n’importe quelle plateforme en nuage. Cet exemple montre comment en configurer une sur 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 **POINTS DE TERMINAISON** de la nouvelle VM et notez le **PORT PUBLIC** pour le point de terminaison **Bureau à distance**.
3. Ouvrez le client Microsoft Remote Desktop (Windows ou Mac) ou le client de votre choix (tel que [rdesktop](http://www.rdesktop.org/) pour les systèmes Linux). Créez une nouvelle connexion à votre VM.
4. Ouvrez la connexion, sans tenir compte de Remote Desktop. Si vous êtes invité à trouver des PC, des périphériques et du contenu sur le réseau local, choisissez **Non**.
5. Cliquez sur l’icône PowerShell dans la barre des tâches Windows pour ouvrir l’invite de commande **PowerShell**. Installez ADDS.
6. Promouvoir le serveur en contrôleur de domaine qui gère un FQDN `mycompany.local`.
7. Lorsque vous êtes invité à saisir le **SafeModeAdministratorPassword**, saisissez le mot de passe de l’administrateur que vous avez utilisé lors de la création de la VM. Cliquez sur Entrée pour continuer. Le script de promotion s’exécute 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 commande PowerShell. Exécutez le script suivant :

   ```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"
   ```

## Installer et configurer le connecteur AD/LDAP

1. Naviguez vers [Dashboard Auth0> Authentification > Entreprise](https://manage.auth0.com/#/connections/enterprise), et créez une nouvelle connexion **Active Directory/LDAP** avec le nom `auth0-test-ad`. Veillez à copier le **Ticket URL** généré à la fin de ces instructions.
2. Sur la VM, désactivez **Configuration de sécurité renforcée d’Internet Explorer**.
3. Ouvrez **Internet Explorer** avec le **Ticket URL** que vous avez enregistré à l’étape 1.
4. Suivez les instructions du navigateur pour télécharger, installer et configurer le **Connecteur**. Lorsque vous êtes invité à indiquer le compte de service LDAP, utilisez le compte administrateur que vous avez créé pour la VM : **Nom d’utilisateur** : `mycompany\ad-admin,` **Mot de passe** : (comme précédemment).
5. Une fois la configuration et l’installation du connecteur terminées, redémarrez le serveur.
6. Reconnectez-vous à la VM à l’aide du bureau à distance.
7. Ouvrez le site de configuration du connecteur en naviguant vers `http://localhost:8357/`.
8. Vérifiez que le **Connecteur** est capable de trouver un utilisateur :

   1. Cliquez sur l’onglet **Recherche**.
   2. Sous « Trouver un utilisateur par identifiant », saisissez `mary.smith`.
   3. Cliquez sur **Rechercher**. Vous devriez obtenir en retour un JSON contenant les données du profil AD de cet utilisateur :

## Test d’authentification à partir d’Auth0

Pour s’assurer que tout fonctionne avec votre compte Auth0, nous allons configurer votre **Application par défaut** dans Auth0 afin qu’elle utilise votre nouvelle connexion **Active Directory/LDAP**, et utiliser le point de terminaison `/authorize` pour initier un flux d’authentification.

1. Naviguez vers [Dashboard Auth0> Applications > Applications](https://manage.auth0.com/#/applications).

2. Cliquez sur l’icône **Paramètres** de votre **Application par défaut**.

3. Ajoutez `http://jwt.io` à la liste des **URL de rappel autorisées** de l’application.

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

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

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

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

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 JWT.io pour voir le contenu du JWT résultant.
