> ## 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.

# Applications confidentielles et publiques

> Découvrez la différence entre les applications confidentielles et publiques et son lien avec les paramètres de votre application Auth0.

Selon la [spécification OAuth 2.0](https://tools.ietf.org/html/rfc6749#section-2.1), une application est classée comme confidentielle ou publique selon sa capacité d’authentification (c’est-à-dire si elle peut conserver un secret).

<div id="confidential-applications">
  ## Applications confidentielles
</div>

Les applications confidentielles peuvent stocker des identifiants de façon sécuritaire sans les exposer à des tiers non autorisés. Elles nécessitent un serveur backend de confiance pour stocker le ou les secrets.

<div id="grant-types">
  ### Types d’octroi
</div>

Les applications confidentielles utilisent un serveur backend de confiance et peuvent utiliser des types d’octroi qui exigent la spécification de leur ID client et de leur <Tooltip tip="Secret client : secret utilisé par un client (application) pour s’authentifier auprès du serveur d’autorisation; il ne devrait être connu que du client et du serveur d’autorisation et doit être suffisamment aléatoire pour ne pas pouvoir être deviné." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Client+Secret">Secret client</Tooltip> (ou d’autres identifiants enregistrés) pour s’authentifier lorsqu’elles appellent le point de terminaison [obtenir un jeton](https://auth0.com/docs/api/authentication#get-token) de l’API d’authentification Auth0. Les applications confidentielles peuvent utiliser les méthodes d’authentification Client Secret Post, Client Secret Basic ou [Private Key JWT](/docs/fr-ca/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt).

Voici les types d’applications considérés comme des applications confidentielles :

* Une application web avec un backend sécurisé qui utilise le [flux du code d’autorisation](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow), le [flux du mot de passe du Resource Owner](/docs/fr-ca/get-started/authentication-and-authorization-flow/resource-owner-password-flow), ou le flux du mot de passe du <Tooltip tip="Resource Owner : entité (comme un utilisateur ou une application) capable d’accorder l’accès à une ressource protégée." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Resource+Owner">Resource Owner</Tooltip> avec prise en charge des realms

* Une application machine-à-machine (M2M) qui utilise le [flux des identifiants du client](/docs/fr-ca/get-started/authentication-and-authorization-flow/client-credentials-flow)

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

Comme les applications confidentielles peuvent stocker des secrets, vous pouvez faire émettre pour elles des <Tooltip tip="Jeton d’ID : jeton destiné au client lui-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=ID+tokens">jetons d’ID</Tooltip> signés de l’une des deux façons suivantes :

* De façon symétrique, à l’aide de leur secret client (`HS256`)

* De façon asymétrique, à l’aide d’une clé privée (`RS256`)

<div id="public-applications">
  ## Applications publiques
</div>

Les applications publiques **ne peuvent pas** stocker des identifiants de façon sécuritaire.

<div id="grant-types">
  ### Types d’octroi
</div>

Les applications publiques ne peuvent utiliser que des types d’octroi qui n’exigent pas l’utilisation de leur secret client. Elles ne peuvent pas envoyer de secret client, car elles ne peuvent pas garantir la confidentialité des identifiants requis.

Voici des applications publiques :

* Une application native de bureau ou mobile qui utilise le [flux du code d’autorisation avec PKCE](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce)

* Une application Web côté client basée sur JavaScript (comme une application monopage) qui utilise le type d’octroi [flux implicite](/docs/fr-ca/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post)

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

Comme les applications publiques ne peuvent pas conserver de secrets, les [jetons d’ID](/docs/fr-ca/secure/tokens/id-tokens) qui leur sont émis doivent être :

* Signés de manière asymétrique à l’aide d’une clé privée (`RS256`)
* Vérifiés à l’aide de la clé publique correspondant à la clé privée utilisée pour signer le jeton

<div id="how-auth0-determines-credential-security">
  ## Comment Auth0 détermine la sécurité des identifiants
</div>

Auth0 détermine si une application est confidentielle ou publique en fonction de son type et, le cas échéant, de son paramètre **Méthode d’authentification**, qui définit comment l’application s’authentifie auprès du [endpoint Obtenir un jeton](https://auth0.com/docs/api/authentication/authorization-code-flow/get-token) de l’API d’authentification Auth0 :

* Les applications Web classiques et les applications machine à machine sont confidentielles, sauf si vous les configurez sans méthode d’authentification.

* Les applications monopages et les applications natives sont publiques.

  Ces types d’applications ne peuvent pas garantir la confidentialité des identifiants requis par les méthodes d’authentification de l’<Tooltip tip="Endpoint de jetons : endpoint du serveur d’autorisation utilisé pour demander des jetons par programmation." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Token+endpoint">endpoint de jetons</Tooltip>. Le tableau de bord Auth0 n’offre donc pas de paramètres de méthode d’authentification ni d’identifiants pour ces types d’applications.

Ces valeurs correspondent aux applications confidentielles et publiques comme suit :

| Type d’application | Exemple                            | Méthode d’authentification de l’endpoint de jetons         |
| ------------------ | ---------------------------------- | ---------------------------------------------------------- |
| **Publique**       | Monopage ou native                 | **Aucune**                                                 |
| **Confidentielle** | Web classique ou machine à machine | **Basic**, **Post**, **Private Key JWT**, **Non précisée** |

<div id="check-and-manage-the-authentication-method">
  ## Vérifier et gérer la méthode d’authentification
</div>

Dans le tableau de bord Auth0, vous pouvez vérifier si une application est enregistrée comme application confidentielle ou publique. Dans [Applications > Applications](https://manage.auth0.com/#/applications), sélectionnez le nom de l’application à consulter.

* Si l’onglet **Credentials** n’est pas disponible, l’application est publique.

* Si l’onglet **Credentials** est disponible, l’application est confidentielle.

<Frame>
  <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/33kfi48tkbMIOQJ8PBxj76/5b79ffda11ad58b27128068057e6e05c/Default_App_-_Creds_-_English.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=a9de550257ed5da2f82681751b4d3e12" alt="Configurer l’authentification Private Key JWT - Instructions du tableau de bord Auth0" width="1102" height="1197" data-path="docs/images/cdy7uua7fh8z/33kfi48tkbMIOQJ8PBxj76/5b79ffda11ad58b27128068057e6e05c/Default_App_-_Creds_-_English.png" />
</Frame>

Dans l’onglet **Credentials**, vous pouvez gérer la méthode d’authentification de l’application :

* **None** : Application publique sans <Tooltip tip="Client Secret : secret utilisé par un client (application) pour s’authentifier auprès du serveur d’autorisation ; il ne doit être connu que du client et du serveur d’autorisation et doit être suffisamment aléatoire pour ne pas pouvoir être deviné." cta="Afficher le glossaire" href="/docs/fr-ca/glossary?term=client+secret">client secret</Tooltip>.
* **Client Secret Post** : Application qui utilise les paramètres du corps d’une requête POST pour envoyer un client secret.
* **Client Secret Basic** : Application qui utilise le mécanisme d’authentification HTTP BASIC pour envoyer un client secret.
* **Private Key <Tooltip tip="JSON Web Token (JWT) : format standard de ID Token (et souvent de Access Token) utilisé pour représenter de façon sécurisée des claims entre deux parties." cta="Afficher le glossaire" href="/docs/fr-ca/glossary?term=JWT">JWT</Tooltip>** : Application qui utilise l’authentification asymétrique.

Pour en savoir plus, consultez [Application Credentials](/docs/fr-ca/secure/application-credentials).
