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

# Connectez votre application à ADFS

> Apprenez à connecter votre application aux Services de fédération Active Directory (ADFS) en utilisant des connexions d’entreprise.

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

Pour connecter votre application aux Services de fédération Active Directory (ADFS) de Microsoft, vous devez fournir les informations suivantes à votre administrateur ADFS :

* Identifiant de domaine : `urn:auth0:{yourTenant}`
* Point de terminaison : `https://{yourDomain}/login/callback` ou `https://<YOUR CUSTOM DOMAIN>/login/callback`, si vous utilisez un [custom domain](/docs/fr-ca/customize/custom-domains).

<Card title="Métadonnées fédérées">
  Le fichier Federation Metadata (métadonnées fédérées) contient des informations à propos des certificats du serveur ADFS. Si le point de terminaison Federation Metadata (métadonnées fédérées) (`/FederationMetadata/2007-06/FederationMetadata.xml`) est activé dans ADFS, Auth0 peut périodiquement (une fois par jour) vérifier la configuration pour y rechercher des modifications, par exemple l’ajout d’un certificat de signature pour préparer un transfert. Pour cette raison, activer le point de terminaison des métadonnées de fédération est préférable à fournir un fichier de métadonnées autonome. Si vous fournissez un fichier de métadonnées autonome, nous vous informerons par courriel lorsque les certificats seront proches de leur date d’expiration.
</Card>

Vous pouvez utiliser un script pour configurer la connexion ou la configurer manuellement.

## Configuration par script

Exécutez les deux commandes suivantes dans la fenêtre Windows PowerShell.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Vous devez exécuter ce script en tant qu’administrateur de votre système.
</Callout>

```powershell lines theme={null}
(new-object Net.WebClient -property @{Encoding = [Text.Encoding]::UTF8}).DownloadString("https://raw.github.com/auth0/adfs-auth0/master/adfs.ps1") | iex
```

export const codeExample1 = `AddRelyingParty "urn:auth0:{yourTenant}" "https://{yourDomain}/login/callback"`;

<AuthCodeBlock children={codeExample1} language="powershell" />

Pour l’intégration automatisée, ce script utilise le [composant logiciel enfichable ADFS PowerShell](http://technet.microsoft.com/en-us/library/adfs2-powershell-basics.aspx) pour créer et configurer un **Partie de confiance** qui émettra, pour l’utilisateur authentifié, les revendications suivantes : **email**, **upn**, **prénom**, et **nom de famille**.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Si vous utilisez la fonctionnalité [domaines personnalisés](/docs/fr-ca/customize/custom-domains) vous devrez remplacer la valeur `$webAppEndpoint` par `https://<YOUR CUSTOM DOMAIN>/login/callback`.
</Callout>

Le script crée l’approbation de la partie de confiance, comme suit :

export const codeExample2 = `$realm = "urn:auth0:{yourTenant}";
$webAppEndpoint = "https://{yourDomain}/login/callback";
Add-PSSnapin Microsoft.Adfs.Powershell
Add-ADFSRelyingPartyTrust -Name $realm -Identifier $realm -WSFedEndpoint $webAppEndpoint
$rp = Get-ADFSRelyingPartyTrust -Name $realm`;

<AuthCodeBlock children={codeExample2} language="powershell" />

Le script crée aussi des règles pour émettre les attributs les plus courants, tels que le courriel, l’UPN, le prénom ou le nom de famille :

```powershell lines theme={null}
$rules = @'
@RuleName = "Store: ActiveDirectory -> Mail (ldap attribute: mail), Name (ldap attribute: displayName), Name ID (ldap attribute: userPrincipalName), GivenName (ldap attribute: givenName), Surname (ldap attribute: sn)"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory",
    types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"), query = ";mail,displayName,userPrincipalName,givenName,sn;{0}", param = c.Value);
'@
Set-ADFSRelyingPartyTrust –TargetName $realm -IssuanceTransformRules $rules
$rSet = New-ADFSClaimRuleSet –ClaimRule '=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");'
Set-ADFSRelyingPartyTrust –TargetName $realm –IssuanceAuthorizationRules $rSet.ClaimRulesString
```

## Configuration manuelle 1ere partie : Ajoutez une approbation de la partie de confiance

1. Ouvrez la console de gestion ADFS
2. Sur le côté droit de la console, cliquez sur **Ajoutez une approbation de la partie de confiance**\*
3. Cliquez sur **Démarrer**.
4. Sélectionnez **Saisir les données concernant la partie de confiance manuellement**, puis cliquez sur **Suivant**.
5. Entrez un nom (tel que `{yourAppName}`), puis cliquez sur **Suivant**.
6. Utilisez le paramètres par défaut (`ADFS 2.0 profile`), puis cliquez sur **Suivant**.
7. Utilisez le paramètre par défaut (`no encryption certificate`), puis cliquez sur **Suivant**.
8. Cochez **Activer le support de la WS-Federation...**, et saisissez cette valeur dans la zone de texte :
   `https://{yourDomain}/login/callback`,ou si vous utilisez un [domaine personnalisé](/docs/fr-ca/customize/custom-domains), utilisez `https://<YOUR CUSTOM DOMAIN>/login/callback`
9. Cliquez sur **Suivant**.
10. Ajoutez un identifiant d’approbation de la partie de confiance avec cette valeur :
    `urn:auth0:{yourTenant}`
11. Cliquez sur **Ajouter**, et ensuite sur **Suivant**.
12. Laissez le paramètre par défaut `Permit all users...`, puis cliquez sur **Suivant**.
13. Cliquez sur **Suivant**, et ensuite sur **Fermer**.

## Configuration manuelle 2e partie : Ajoutez une règle de politique d’émission de demande

1. Si vous utilisez Windows Server 2019, la boîte de dialogue Modifier la politique d’émission de demandes s’ouvre automatiquement lorsque vous finissez avec l’assistant Ajouter une approbation de la partie de confiance. Si vous utilisez Windows 2012 ou 2016, suivez ces étapes :

| Dans Windows Server 2012                                                                                                                                                                                                                                  | Dans Windows Server 2016                                                                                                                                                                                                                                                                                                                |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dans le panneau Actions sur le côté droit de la console, accédez à Approbation de la partie de confiance que vous venez de créer. En-dessous, dans l’arborescence de la console, sous ADFS, cliquez sur **Modifier la politique d’émission de demandes**. | Dans l’arborescence de la console, sous ADFS, cliquez sur **Approbation de la partie de confiance**. Dans la partie droite de la console, recherchez l’Approbation de la partie de confiance que vous venez de créer. Cliquez dessus avec le bouton droit de la souris et cliquez sur **Modifier la politique d’émission de demandes**. |

2. Dans la fenêtre Edit Claim Issuance Policy (Modifier la politique d’émission de demandes), dans Issuance Transform Rules (Règles de transformation d’émission), cliquez sur **Add Rule (Ajouter une règle)...**.
3. Laissez le paramètre par défaut `Envoyer les attributs LDAP en tant que demandes`.
4. Donnez à la règle un nom qui décrit ce qu’elle fait.
5. Dans Magasin d’attributs, sélectionnez **Active Directory**.
6. Sélectionnez ces mappings dans `Mappages des attributs LDAP aux types de demandes sortants`, puis cliquez sur **Terminer**.

| Attribut LDAP       | Types de demandes sortantes |
| ------------------- | --------------------------- |
| Adresses courriel   | Adresse courriel            |
| Display-Name        | Nom                         |
| User-Principal-Name | ID du nom                   |
| Given-Name          | Prénom                      |
| Surname             | Nom de famille              |

### Ajoutez des attributs LDAP supplémentaires

Les mappages des étapes précédentes sont les plus couramment utilisés, mais si vous avez besoin d’attributs LDAP supplémentaires contenant des informations sur l’utilisateur, vous pouvez ajouter d’autres mappages de demandes.

1. Si vous avez fermé la fenêtre à l’étape précédente, sélectionnez **Modifier les règles de demandes** dans le menu contextuel de l’approbation de la partie de confiance que vous avez créée, puis modifiez la règle.
2. Créez une ligne supplémentaire pour chaque attribut LDAP dont vous avez besoin, en choisissant le nom de l’attribut dans la colonne de gauche et le type de demande souhaité dans la colonne de droite.
3. Si le type de demande que vous recherchez n’existe pas, vous avez deux options :

   1. Entrez un [nom qualifié de namespace](/docs/fr-ca/secure/tokens/json-web-tokens/create-custom-claims) pour la nouvelle demande (par exemple, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department`).
   2. Enregistrez un nouveau type de demande (dans **ADFS > Services > Description de demandes** dans la console d’administration ADFS), et utilisez le nom de la demande dans le mapping.
      Auth0 utilise la partie nom du type de revendication (par exemple, `department` dans `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department`) comme nom d’attribut du profil utilisateur.

## Prochaines étapes

Maintenant que vous avez une connexion fonctionnelle, l’étape suivante consiste à configurer votre application afin de l’utiliser. Vous pouvez suivre nos guides rapides étape par étape ou utiliser nos bibliothèques et notre API.

* [Commencez avec nos guides de démarrage rapide](/docs/fr-ca/quickstarts)
* [Configurez votre application en utilisant notre formulaire de connexion Lock.](/docs/fr-ca/libraries/lock)
* [Configurez votre application en utilisant notre bibliothèque Auth0.js et votre propre interface utilisateur](/docs/fr-ca/libraries/auth0js)
* [Utilisez notre Authentication API pour vous authentifier.](/docs/fr-ca/api/authentication)
