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

# Configurer l’authentification connecteur AD/LDAP avec Kerberos

> Décrit comment configurer le connecteur AD/LDAP pour la fédération avec l’authentification Kerberos.

Vous pouvez fédérer avec Active Directory au moyen du connecteur AD/LDAP. Le connecteur AD/LDAP simplifie l’authentification de vos utilisateurs lorsqu’ils sont sur une machine reliée à un domaine, au sein du réseau de l’entreprise.

## Configurez Active Directory

1. Allez à [Auth0 Dashboard > Authentification > Entreprise > Active Directory/LDAP](https://manage.auth0.com/#/connections/enterprise/ad) et sélectionnez le type de connexion à afficher.
2. Activez l’option **Utiliser l’authentification intégrée Windows (Kerberos)**.

### Plage détectée automatiquement pour Kerberos

Lorsque l’authentification Kerberos est activée, l’adresse IP du serveur exécutant le connecteur AD est automatiquement incluse dans la plage d’adresses IP du réseau. Cela implique que si les requêtes d’un utilisateur proviennent de la même adresse IP que celle du connecteur AD, alors une tentative d’authentification Kerberos sera effectuée.

1. Configurer **Plages IP**. Utiliser [notations CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Il doit s’agir de plages visibles par Auth0. Lorsque Auth0 est exécuté dans le nuage, il ne peut pas détecter l’adresse IP interne de vos utilisateurs. Dans ce cas, vous devrez configurer les adresses IP publiques ou WAN de votre entreprise.
2. Nous vous recommandons de redémarrer le service Windows hébergeant le connecteur AD chaque fois que ce paramètre est modifié. De cette façon, les modifications prendront effet immédiatement.

## Flux d’authentification

Selon l’emplacement des utilisateurs, le flux d’authentification sera différent lorsque les plages d’adresses IP sont définies. En prenant Fabrikam comme exemple, puisqu’il utilise la version SaaS d’Auth0, ils ont configuré, dans la connexion, leur adresse IP publique (`24.12.34.56/32`). Les utilisateurs se connectant depuis l’intérieur du bâtiment proviendront tous de l’adresse IP `24.12.34.56` (tel que configuré sur la connexion). Lors de leur authentification, les utilisateurs peuvent suivre le flux natif AD/LDAP et profiter d’une expérience <Tooltip href="/docs/fr-ca/glossary?term=single-sign-on" tip="Authentification unique (SSO)
Service qui, après qu’un utilisateur se soit connecté à une application, le connecte automatiquement à d’autres applications." cta="Voir le glossaire">SSO</Tooltip> fluide.

Pour que cela fonctionne, le réseau doit autoriser les utilisateurs à se connecter au connecteur AD/LDAP à partir du port configuré dans le fichier `config.json`. Dans des déploiements haute disponibilité du connecteur, l’adresse à laquelle les utilisateurs se connecteront est celle de l’équilibreur de charge réseau, situé devant toutes les instances du connecteur.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/fr-ca/cdy7uua7fh8z/1EUZhFx2w5FjDeIoMySERC/fc50869b131faf3257cfe429c96f68d1/2023-09-22_14-28-30.png" alt="Configure AD/LDAP Connector Authentication with Kerberos Flow Diagram" />
</Frame>

Pour en savoir plus, veuillez consulter [Déployement des connecteurs AD/LDAP pour les environnements haute disponibilité.](/docs/fr-ca/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-high-availability)

En revanche, lorsque les utilisateurs ne se trouvent pas sur le réseau de l’entreprise (p. ex., sur un site client ou travaillant à domicile sans VPN), ils ne pourront pas accéder directement au connecteur AD/LDAP. Dans ce cas, ils devront saisir leur nom d’utilisateur et leur mot de passe, et Auth0 validera ces informations d’identification avec le connecteur AD/LDAP, qui se chargera à son tour de les authentifier au moyen d’Active Directory.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/fr-ca/cdy7uua7fh8z/7xo1cIdF6GmSowlVB8kjQn/4b55f555977742af3f3df94c5b3a0a9b/2023-09-22_14-29-00.png" alt="Configure AD/LDAP Connector Authentication with Kerberos Credentials Flow Diagram" />
</Frame>

## Connexion automatique avec Lock

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  La détection des plages d’adresses IP dans une connexion AD/LDAP et l’utilisation de ces plages avec Lock pour permettre l’authentification Windows intégrée est une fonction qui fonctionne dans Lock 10, mais qui ne peut être utilisée dans Lock 11 que dans des scénarios de connexion universelle. Cette fonctionnalité est désactivée dans Lock 11 lorsque Lock 11 est utilisé dans des scénarios de connexion intégrée.
</Callout>

Lorsque qu’une application utilise Lock 10 ou 11 sur la page de connexion hébergée par Auth0 (généralement pour les protocoles <Tooltip href="/docs/fr-ca/glossary?term=security-assertion-markup-language" tip="Security Assertion Markup Language (SAML)
Protocole normalisé permettant à deux parties d’échanger des informations d’authentification sans mot de passe." cta="Voir le glossaire">SAML</Tooltip>/WS-Federation et les intégrations à authentification unique), un bouton permet aux utilisateurs de s’authentifier au moyen de « l’authentification Windows ».

Dans certaines situations, il peut être nécessaire de connecter automatiquement l’utilisateur si Kerberos est possible (en fonction de l’adresse IP de l’utilisateur final). Les modifications suivantes peuvent être apportées à la page de connexion Auth0 afin de permettre cette connexion automatique lorsque Kerberos est possible :

```html lines theme={null}
<script src="https://cdn.auth0.com/js/lock/11.x.x/lock.min.js"></script>
<script src="https://cdn.auth0.com/js/auth0/9.x/auth0.min.js"></script>
<script src="https://cdn.auth0.com/js/polyfills/1.0/object-assign.min.js"></script>

<script>
  var config = JSON.parse(decodeURIComponent(escape(window.atob('@@config@@'))));

  var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
      //...additional configuration
  });

  function handleError(err) {
    // add proper error handling
    console.log(err);
  };

  var params = Object.assign({
      scope: config.internalOptions.scope,
      _csrf: config.internalOptions._csrf,
      state: config.internalOptions.state,
    },
    {
      /* additional configuration needed for use of custom domains 
      overrides: {
        __tenant: config.auth0Tenant,
        __token_issuer: '{yourCustomDomain}'
      }, */
      domain: config.auth0Domain,
      clientID: config.clientID,
      redirectUri: config.callbackURL,
      responseType: 'code'
    });

  var webAuth = new auth0.WebAuth(params);

  /*
   * Verify if Kerberos is possible, if it is, try to authenticate the user.
   *
   * the response from getSSOData will only have a connection and strategy if 
   * the IP address is within the Kerberos range in the connection's settings
   */
  webAuth.client.getSSOData(true, function(err, data) {
    if (err) handleError(err);

    if (data.connection && data.strategy === 'ad') {
      webAuth.authorize({connection: data.connection}, function(err) {
        if (err) handleError(err);
      });
    } else {
      lock.show();
    }
  });
</script>
```

## Contourner Kerberos lors de l’exécution

Vous pouvez désactiver l’utilisation de Kerberos, même si l’utilisateur se connecte depuis une adresse IP incluse dans la plage configurée dans les paramètres de connexion, en passant l’option `rememberLastLogin: false` to `lock.show()`.

```javascript lines theme={null}
function useKerberos() {
      // return true to use Kerberos, false to bypass
    };
    
    lock.show({rememberLastLogin: useKerberos()});
```

## Activer la journalisation des requêtes Kerberos

1. Pour activer la journalisation détaillée des requêtes Kerberos, ajoutez une variable d’environnement au niveau du système `DEBUG=kerberos-server`.
2. Redémarrez le connecteur.
3. Connectez-vous à nouveau et vérifiez les journaux pour plus d’informations.

## Prise en charge de Kerberos par Firefox

Par défaut, [Firefox](https://www.mozilla.org/firefox) [refuse toutes les demandes de « négociation » nécessaires à l’authentification des utilisateurs via Kerberos](https://developer.mozilla.org/en-US/docs/Mozilla/Integrated_authentication). Si vous souhaitez utiliser Firefox avec Kerberos, il est impératif d’autoriser le serveur sur lequel le connecteur est installé.

1. Ouvrez un onglet Firefox et tapez `about:config` dans la barre d’adresse.
2. Ignorez tout message d’avertissement et, dans la zone de recherche, saisissez `negotiate`.
3. Localisez l’élément `network.negotiate-auth.trusted-uris` et double-cliquez pour modifier sa valeur.
4. Tapez le nom de domaine du serveur sur lequel le connecteur est installé. Si vous avez plusieurs instances du connecteur derrière un équilibreur de charge, ajoutez le nom DNS de l’équilibreur.
   La valeur accepte une liste de préfixe URL séparés par des virgules ou de domaines sous la forme de `mydomain.com, https://myotherdomain.com`.
5. Cliquez sur **Ok**. Vous n’avez pas besoin de redémarrer le serveur pour que les modifications prennent effet.

## Soutien HTTPS pour Kerberos

L’authentification Kerberos fonctionne sur HTTP (non HTTPS). Microsoft Office 365 et d’autres produits modernes peuvent ne pas fonctionner avec HTTP.

Pour résoudre cette contrainte :

1. Configurez un proxy inverse et exposez le connecteur AD/LDAP sur un domaine HTTPS. Vous pouvez utiliser le paramètre `SERVER_URL` (URL frontale) pour publier l’emplacement public où le connecteur AD/LDAP écoutera les demandes entrantes.
2. Cartographier la `SERVER_URL` dans le proxy inverse vers toutes les instances internes des connecteurs déployés.
