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

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

# Configurer l’authentification d’AD/LDAP Connector avec Kerberos

Vous pouvez fédérer avec Active Directory au moyen d’AD/LDAP Connector si vous utilisez Classic Login. AD/LDAP Connector permet à vos utilisateurs de s’authentifier lorsqu’ils se trouvent sur une machine jointe à un domaine, au sein du réseau d’entreprise.

<h2 id="configure-active-directory">
  Configurer Active Directory
</h2>

1. Accédez à [Auth0 Dashboard > Authentification > Enterprise > Active Directory/LDAP](https://manage.auth0.com/#/connections/enterprise/ad), puis sélectionnez la connexion que vous souhaitez configurer.
2. Activez le commutateur **Use Windows Integrated Auth (Kerberos)**.

<h3 id="auto-detected-range-for-kerberos">
  Plage automatiquement détectée pour Kerberos
</h3>

Lorsque l’authentification Kerberos est activée, l’adresse IP visible du serveur sur lequel AD Connector s’exécute est ajoutée implicitement à la plage d’adresses IP du réseau. Cela signifie que si les requêtes d’un utilisateur proviennent de la même adresse IP visible que celle d’AD Connector, une authentification Kerberos sera tentée.

1. Configurez les **plages d’adresses IP**. Utilisez la [notation CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Il doit s’agir de plages visibles par Auth0. Lorsque Auth0 s’exécute dans le cloud, il ne peut pas voir l’adresse IP interne de votre utilisateur. Dans ce cas, vous devez configurer la ou les adresses IP publiques/WAN de votre entreprise.
2. Nous vous recommandons de redémarrer le service Windows qui héberge AD Connector chaque fois que ce paramètre est modifié. Ainsi, les changements prendront effet immédiatement.

<h2 id="authentication-flow">
  Flux d’authentification
</h2>

Selon l’emplacement des utilisateurs, le flux d’authentification sera différent lorsque des plages d’adresses IP sont définies. Prenons Fabrikam comme exemple : puisque l’entreprise utilise la version SaaS d’Auth0, elle a configuré son adresse IP publique (`24.12.34.56/32`) dans la connexion. Les utilisateurs qui se connectent depuis l’intérieur de l’immeuble proviendront tous de `24.12.34.56` (comme configuré dans la connexion). Lorsqu’ils s’authentifient, ils peuvent suivre le flux natif AD/LDAP et profiter d’une expérience <Tooltip tip="Single Sign-On (SSO) : service qui, après qu’un utilisateur s’est connecté à une application, le connecte automatiquement à d’autres applications." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=SSO">SSO</Tooltip> fluide.

Pour que cela fonctionne, le réseau doit permettre aux utilisateurs de se connecter au AD/LDAP Connector sur le port configuré dans le fichier `config.json`. Dans les déploiements à haute disponibilité du Connector, l’adresse à laquelle les utilisateurs se connectent est celle du répartiteur de charge réseau placé devant toutes les instances du Connector.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-modules-ga/docs/images/cdy7uua7fh8z/1EUZhFx2w5FjDeIoMySERC/fc50869b131faf3257cfe429c96f68d1/2023-09-22_14-28-30.png" alt="Configurer l’authentification du AD/LDAP Connector avec le diagramme du flux Kerberos" />
</Frame>

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

À l’inverse, lorsque les utilisateurs ne sont pas sur le réseau d’entreprise (par exemple, chez un client ou en télétravail sans VPN), ils ne pourront pas accéder directement au AD/LDAP Connector. Ils devront saisir leur nom d’utilisateur et leur mot de passe, puis Auth0 validera ces identifiants auprès du AD/LDAP Connector (qui utilisera ensuite Active Directory pour les valider).

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-actions-modules-ga/docs/images/cdy7uua7fh8z/7xo1cIdF6GmSowlVB8kjQn/4b55f555977742af3f3df94c5b3a0a9b/2023-09-22_14-29-00.png" alt="Configurer l’authentification du AD/LDAP Connector avec le diagramme du flux d’identifiants Kerberos" />
</Frame>

<h2 id="auto-login-with-lock">
  Connexion automatique avec Lock
</h2>

<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 Windows Authentication est une fonctionnalité qui fonctionne avec Lock 10, mais qui ne peut être utilisée avec Lock 11 que dans des scénarios Universal Login. Cette fonctionnalité est désactivée dans Lock 11 lorsque Lock 11 est utilisé dans des scénarios Embedded Login.
</Callout>

Lorsqu’une application utilise Lock 10 ou 11 dans l’Auth0 Login Page hébergée par Auth0 (généralement utilisée pour les protocoles <Tooltip tip="Security Assertion Markup Language (SAML) : protocole normalisé permettant à deux parties d’échanger des renseignements d’authentification sans mot de passe." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=SAML">SAML</Tooltip>/WS-Federation et les intégrations Single Sign-On (SSO)), un bouton permet aux utilisateurs de s’authentifier au moyen de "Windows Authentication".

Dans certains cas, il peut être nécessaire de connecter automatiquement l’utilisateur si Kerberos est possible (selon l’adresse IP de l’utilisateur final). Les modifications suivantes peuvent être ajoutées à l’Auth0 Login Page pour connecter automatiquement l’utilisateur si Kerberos est possible :

```html lines expandable 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, {
      //...configuration supplémentaire
  });

  function handleError(err) {
    // ajouter une gestion des erreurs appropriée
    console.log(err);
  };

  var params = Object.assign({
      scope: config.internalOptions.scope,
      _csrf: config.internalOptions._csrf,
      state: config.internalOptions.state,
    },
    {
      /* configuration supplémentaire requise pour l'utilisation de domaines personnalisés 
      overrides: {
        __tenant: config.auth0Tenant,
        __token_issuer: '{yourCustomDomain}'
      }, */
      domain: config.auth0Domain,
      clientID: config.clientID,
      redirectUri: config.callbackURL,
      responseType: 'code'
    });

  var webAuth = new auth0.WebAuth(params);

  /*
   * Vérifier si Kerberos est possible ; si c'est le cas, tenter d'authentifier l'utilisateur.
   *
   * la réponse de getSSOData n'aura une connexion et une stratégie que si
   * l'adresse IP se trouve dans la plage Kerberos définie dans les paramètres de la connexion
   */
  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>
```

<h2 id="bypass-kerberos-at-runtime">
  Contourner Kerberos à l’exécution
</h2>

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

```javascript lines theme={null}
function useKerberos() {
      // renvoyer true pour utiliser Kerberos, false pour contourner
    };
    
    lock.show({rememberLastLogin: useKerberos()});
```

<h2 id="enable-kerberos-request-logging">
  Activer la journalisation des requêtes Kerberos
</h2>

1. Pour activer la journalisation détaillée des requêtes Kerberos, ajoutez la variable d’environnement système `DEBUG=kerberos-server`.
2. Redémarrez le Connector.
3. Connectez-vous de nouveau et consultez les journaux pour en savoir plus.

<h2 id="firefox-support-for-kerberos">
  Prise en charge de Kerberos dans Firefox
</h2>

Par défaut, [Firefox](https://www.mozilla.org/firefox) [rejette toutes les requêtes « negotiate » nécessaires pour authentifier les utilisateurs avec Kerberos](https://developer.mozilla.org/en-US/docs/Mozilla/Integrated_authentication). Si vous souhaitez utiliser Firefox avec Kerberos, vous devez ajouter à l’AllowList le serveur sur lequel le Connector est installé.

1. Ouvrez un onglet Firefox et tapez `about:config` dans la barre d’adresse.
2. Supprimez tout message d’avertissement, puis tapez `negotiate` dans la zone de recherche.
3. Repérez l’élément `network.negotiate-auth.trusted-uris` et double-cliquez dessus pour en modifier la valeur.
4. Tapez le nom de domaine du serveur sur lequel le Connector est installé. Si vous avez plusieurs instances du Connector derrière un répartiteur de charge, ajoutez le nom DNS du répartiteur.
   La valeur accepte une liste de préfixes d’URL ou de domaines séparés par des virgules, sous la forme `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.

<h2 id="https-support-for-kerberos">
  Prise en charge de HTTPS pour Kerberos
</h2>

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

Pour remédier à cette limitation :

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