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

> Découvrez l’incidence du paramètre d’application conforme à OIDC sur le pipeline d’authentification.

# Adopter l’authentification conforme à OIDC

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

Auth0 est un [fournisseur OpenID Connect (OIDC) certifié](http://openid.net/certification/). Dans le cadre des efforts d’Auth0 pour améliorer la sécurité et l’interopérabilité fondée sur les normes, nous déployons de nouvelles fonctionnalités exclusivement dans les flux d’authentification qui respectent strictement les [spécifications OIDC](http://openid.net/specs/openid-connect-core-1_0.html).

Nous expliquerons les différences entre le pipeline conforme à OIDC et le pipeline hérité, et nous proposerons des suggestions pour adapter vos applications existantes. Ces renseignements s’adressent aux développeurs et/ou aux administrateurs TI qui gèrent des intégrations Auth0 dans leurs applications à l’aide du [cadre d’autorisation OAuth 2.0](/fr-CA/docs/authenticate/protocols/oauth). Ces renseignements ne s’appliquent pas si vous utilisez <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="/fr-CA/docs/glossary?term=SAML">SAML</Tooltip> ou WS-Federation. Tous les flux d’authentification sont décrits au moyen de requêtes HTTP plutôt que dans le contexte d’un langage ou d’une bibliothèque en particulier.

Toutes les nouvelles fonctionnalités visent uniquement le pipeline conforme à OIDC, et toutes les anciennes versions des SDK Auth0 sont obsolètes, ne reçoivent plus de mises à jour pour les nouvelles fonctionnalités ni pour les problèmes de sécurité non critiques, et seront éventuellement abandonnées. De plus, toute la documentation, les bibliothèques et les exemples en dehors de ce guide s’appliquent uniquement au pipeline conforme à OIDC. Pour cette raison, nous recommandons fortement d’adopter le pipeline conforme à OIDC, même si vous n’avez pas besoin de tirer parti de nouvelles fonctionnalités dans l’immédiat.

<div id="apply-the-oidc-conformant-pipeline">
  ## Appliquer le pipeline conforme à OIDC
</div>

Selon la date de création de votre locataire, différentes options peuvent s’offrir à vous pour appliquer le pipeline conforme à OIDC.

<div id="new-tenants">
  ### Nouveaux locataires
</div>

Si vous créez un nouveau locataire à l’aide de <Tooltip tip="Auth0 Dashboard : principal produit Auth0 pour configurer vos services." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>, le pipeline conforme à OIDC est utilisé par défaut. Il s’agit du paramètre par défaut dans Auth0 Dashboard depuis le début de 2019.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Il se peut toutefois que vous ayez désactivé manuellement le paramètre OIDC Conformant; dans ce cas, vous devriez suivre nos instructions pour les anciens locataires.
</Callout>

<div id="older-tenants">
  ### Locataires plus anciens
</div>

Si vous voulez appliquer en même temps, pour une application donnée, toutes les modifications décrites dans ce guide afin de gérer toutes les ruptures de compatibilité pendant la configuration plutôt qu’au moment de l’exécution, vous devez :

1. Accédez à [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), puis sélectionnez l’application souhaitée.
2. Faites défiler la page jusqu’à **Advanced Settings**, puis ouvrez l’onglet **OAuth**.
3. Activez le bouton bascule **OIDC Conformant**, puis cliquez sur **Save Changes**.

Si vous voulez utiliser le pipeline conforme à OIDC pour chaque demande d’authentification, et que votre application doit appeler une API avec un <Tooltip tip="Jeton d’accès : identifiant d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisé pour accéder à une API." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JWT">JWT</Tooltip> <Tooltip tip="JSON Web Token (JWT) : format standard d’ID Token (et souvent de jeton d’accès) utilisé pour représenter des revendications de façon sécuritaire entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=access+token">jeton d’accès</Tooltip>, lancez la demande vers le point de terminaison [`/social`](https://auth0.com/docs/api/authentication#social) avec un paramètre `audience`.

Si vous voulez utiliser le pipeline conforme à OIDC pour chaque demande d’authentification, et que votre application n’a pas besoin d’appeler une API, utilisez le paramètre `audience` suivant :

export const codeExample = `https://{yourDomain}/userinfo`;

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

<div id="differences">
  ## Différences
</div>

L’activation du pipeline conforme à OIDC entraîne les changements suivants par rapport au pipeline hérité.

<div id="apis">
  ### API
</div>

Les applications et les API (ressources) doivent être définies comme des entités Auth0 distinctes. Pour en savoir davantage, consultez [Adoption conforme à OIDC : API](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-apis).

<div id="access-tokens">
  ### Jetons d’accès
</div>

* Les API doivent être sécurisées au moyen de jetons d’accès plutôt qu’avec des <Tooltip tip="ID Token : informations d’identification destinées à l’application cliente elle-même, et non à l’accès à une ressource." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=ID+tokens">jetons d’identité</Tooltip>. Pour en savoir plus sur les différences, consultez [Tokens](/fr-CA/docs/secure/tokens).
* Un ensemble défini de claims standard concernant les utilisateurs peut être renvoyé dans les ID Tokens ou dans la réponse de `/userinfo`.
* Les claims personnalisés doivent respecter un format avec espace de noms. Pour en savoir plus, consultez [Create Namespaced Custom Claims](/fr-CA/docs/secure/tokens/json-web-tokens/create-custom-claims).
* Les réponses de `/userinfo` seront conformes à la spécification OIDC, tout comme le contenu des jetons d’identité
* Les scopes peuvent être utilisés pour demander soit des claims standard, soit des autorisations d’API personnalisées.

Pour en savoir plus, consultez [Adoption conforme à OIDC : jetons d’accès](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-access-tokens).

<div id="authorization-flows">
  ### Flux d’autorisation
</div>

* [Flux du code d’autorisation](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-auth-code-flow) : Il existe des différences structurelles dans la requête d’authentification, la réponse d’authentification, la requête d’échange de code, la réponse d’échange de code, la structure du jeton d’identité et la structure du jeton d’accès.
* [Flux des informations d’identification de l’application](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-client-credentials-flow) : Nouveau flux activé, qui permet aux applications de s’authentifier en leur propre nom (plutôt qu’au nom d’un utilisateur) afin d’obtenir un accès sécurisé à une API par programmation.
* [Flux implicite](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-implicit-flow) : Il existe des différences structurelles dans la requête d’authentification, la réponse d’authentification, la structure du jeton d’identité et la structure du jeton d’accès. Plus précisément :

  * `response_type=token` retourne uniquement un jeton d’accès. Pour obtenir un jeton d’identité, utilisez `response_type=id_token` ou `response_type=token id_token`.
  * Les jetons d’identité seront signés de manière asymétrique avec RS256.
  * Les requêtes d’authentification effectuées sans le paramètre nonce seront rejetées. Pour en savoir plus, consultez [Atténuer les attaques par rejeu lors de l’utilisation du flux implicite](/fr-CA/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post/mitigate-replay-attacks-when-using-the-implicit-flow).
  * Les jetons d’actualisation ne seront plus renvoyés lors de l’utilisation du flux implicite pour l’authentification.
* [Flux du mot de passe du propriétaire de la ressource](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-rop-flow) : Il existe des différences structurelles dans la requête d’authentification, la réponse d’authentification, la structure du jeton d’identité et la structure du jeton d’accès. Plus précisément :

  * le [point de terminaison hérité du propriétaire de la ressource](https://auth0.com/docs/api/authentication#database-ad-ldap-active-) est désactivé, ce qui désactive également l’authentification Passwordless pour la connexion intégrée à partir de ce point de terminaison. Pour [mettre en œuvre Passwordless avec la connexion intégrée](/fr-CA/docs/authenticate/login/universal-vs-embedded-login), vous devez utiliser l’API Embedded Passwordless ou nos SDK, selon le type d’application.
  * le paramètre `device` est maintenant considéré comme non valide lors de la demande d’un jeton d’actualisation à l’aide du scope `offline_access`.

<div id="delegation">
  ### Délégation
</div>

* **Obsolète** : le point de terminaison [`/delegation`](https://auth0.com/docs/api/authentication#delegation), sauf lorsqu’il est utilisé pour obtenir des jetons pour des API tierces.
* Les applications conformes à OIDC ne peuvent pas servir de source ni de cible pour les demandes de délégation.

Pour en savoir plus, consultez [Adoption conforme à OIDC : délégation](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-delegation).

<div id="endpoints">
  ### Points de terminaison
</div>

* **Obsolète** : le point de terminaison `/tokeninfo`
* **Désactivé** : le point de terminaison [`/oauth/access_token`](https://auth0.com/docs/api/authentication#post-oauth-access_token) (utilisé pour l’authentification sociale à partir d’applications mobiles natives).
* **Obsolète** : le point de terminaison `/ssodata`
* **Obsolète** : le point de terminaison [`/delegation`](https://auth0.com/docs/api/authentication#delegation), sauf lorsqu’il est utilisé pour obtenir des jetons d’API tiers.

<div id="refresh-tokens">
  ### Jetons d’actualisation
</div>

* <Tooltip tip="Jeton d’actualisation : jeton utilisé pour obtenir un nouveau Jeton d’accès sans obliger les utilisateurs à se reconnecter." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Refresh+tokens">jetons d’actualisation</Tooltip> ne seront plus renvoyés lors de l’utilisation du flux implicite pour l’authentification.
* Les jetons d’actualisation peuvent être utilisés pour les applications confidentielles, mais la <Tooltip tip="Rotation des jetons d’actualisation : stratégie consistant à remplacer fréquemment les jetons d’actualisation afin de réduire la vulnérabilité. Avec la rotation des jetons d’actualisation, chaque fois que votre application échange un jeton d’actualisation pour obtenir un nouveau jeton d’accès, Auth0 renvoie également un nouveau jeton d’actualisation." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=refresh+token+rotation">rotation des jetons d’actualisation</Tooltip> peut renforcer la sécurité dans la plupart des flux et devrait toujours être utilisée avec les applications publiques lorsque vous utilisez le flux du code d’autorisation avec PKCE. Pour en savoir plus sur les applications confidentielles, consultez [Confidential and Public Applications](/fr-CA/docs/get-started/applications/confidential-and-public-applications). Pour en savoir plus sur la rotation des jetons d’actualisation, consultez [Refresh Token Rotation](/fr-CA/docs/secure/tokens/refresh-tokens/refresh-token-rotation).
* Pour obtenir de nouveaux jetons, vous devez utiliser le point de terminaison `/oauth/token`.
* Le paramètre `device` n’est plus nécessaire pour demander un jeton d’actualisation à l’aide du scope `offline_access` dans les requêtes d’authentification.

Pour en savoir plus, consultez [OIDC-Conformation Adoption: Refresh Tokens](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-refresh-tokens).

<div id="single-sign-on-sso">
  ### Authentification unique (SSO)
</div>

* Le <Tooltip tip="Single Sign-On (SSO) : service qui, après qu’un utilisateur se connecte à une application, le connecte automatiquement à d’autres applications." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=SSO">SSO</Tooltip> n’est possible qu’à partir des pages de connexion d’Auth0, ce qui signifie que vous devez utiliser <Tooltip tip="Universal Login : votre application redirige vers Universal Login, hébergé sur le serveur d’autorisation d’Auth0, pour vérifier l’identité d’un utilisateur." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Universal+Login">Universal Login</Tooltip>.
* Pour déterminer si les utilisateurs sont connectés au moyen du SSO, vous devez utiliser l’authentification silencieuse. Pour en savoir plus, consultez [Configurer l’authentification silencieuse](/fr-CA/docs/authenticate/login/configure-silent-authentication).
* **Obsolète** : point de terminaison `/ssodata` et méthode `getSSOData()` de `Lock/auth0.js`.

Pour en savoir plus, consultez [Adoption conforme à OIDC : authentification unique](/fr-CA/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-sso).

<div id="additional-features">
  ### Fonctionnalités supplémentaires
</div>

* Créez des applications tierces pour vos API et affichez des écrans de consentement pour l’autorisation. Pour en savoir plus, consultez [Consentement de l’utilisateur et applications tierces](/fr-CA/docs/get-started/applications/third-party-applications/user-consent-and-third-party-applications).
* Restreignez les renseignements de profil fournis aux applications lors de l’authentification. Pour en savoir plus, consultez [Profils utilisateur](/fr-CA/docs/manage-users/user-accounts/user-profiles/user-profile-structure).
* Enregistrez dynamiquement des applications. Pour en savoir plus, consultez [Enregistrement dynamique des applications](/fr-CA/docs/get-started/applications/dynamic-client-registration).
* Les [Organisations](/fr-CA/docs/manage-users/organizations) et les fonctionnalités qui s’y rattachent deviennent disponibles.
