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

# Authentication API

> L’Authentication API vous permet de gérer tous les aspects de l’identité utilisateur lorsque vous utilisez Auth0. Elle offre des points de terminaison pour que vos utilisateurs puissent se connecter, s’inscrire, se déconnecter, accéder aux API et plus encore.

L’Authentication API vous permet de gérer tous les aspects de l’identité utilisateur lorsque vous utilisez Auth0. Elle offre des points de terminaison pour que vos utilisateurs puissent se connecter, s’inscrire, se déconnecter, accéder aux API et plus encore.

L’API prend en charge divers protocoles d’identité, comme [OpenID Connect](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol), [OAuth 2.0](https://auth0.com/docs/authenticate/protocols/oauth), [FAPI](https://auth0.com/docs/secure/highly-regulated-identity#advanced-security-with-openid-connect-fapi-) et [SAML](https://auth0.com/docs/protocols/saml).

<Note>
  Cette API est conçue pour les personnes à l’aise avec l’intégration d’API REST. Si vous préférez une approche plus guidée, consultez nos [Quickstarts](https://auth0.com/docs/quickstarts) ou nos [bibliothèques](https://auth0.com/docs/libraries).
</Note>

<div id="base-url">
  ## URL de base
</div>

L’Authentication API est accessible en HTTPS. Toutes les URL mentionnées dans la documentation ont la base suivante : `https://{yourDomain}`

<div id="authentication-methods">
  ## Méthodes d’authentification
</div>

Vous avez cinq options pour vous authentifier auprès de cette API :

* Jeton d’accès OAuth2
* Client ID et assertion du client (applications confidentielles)
* Client ID et Client Secret (applications confidentielles)
* Client ID (applications publiques)
* Authentification mTLS (applications confidentielles)

<div id="oauth2-access-token">
  ### Jeton d’accès OAuth2
</div>

Envoyez un jeton d’accès valide dans l’en-tête `Authorization`, en utilisant le schéma d’authentification `Bearer`.

Un exemple est le [point de terminaison Get User Info](/user-profile/get-user-info). Dans ce scénario, vous obtenez un jeton d’accès lorsque vous authentifiez un utilisateur, puis vous pouvez envoyer une requête au [point de terminaison Get User Info](/user-profile/get-user-info) en utilisant ce jeton dans l’en-tête `Authorization` afin de récupérer le profil de l’utilisateur.

<div id="client-id-and-client-assertion">
  ### Client ID et Client Assertion
</div>

Générez une [client assertion](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) contenant un JSON Web Token (JWT) signé pour vous authentifier. Dans le corps de la requête, incluez votre Client ID, un paramètre `client_assertion_type` dont la valeur est `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`, ainsi qu’un paramètre `client_assertion` contenant votre assertion signée. Consultez [Private Key JWT](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) pour obtenir des exemples.

<div id="client-id-and-client-secret">
  ### Client ID et Client Secret
</div>

Envoyez le Client ID et le Client Secret. La méthode à utiliser pour envoyer ces données dépend de la [méthode d’authentification du point de terminaison de jeton](/docs/fr-ca/get-started/applications/confidential-and-public-applications) configurée pour votre application.

Si vous utilisez **Post**, vous devez envoyer ces données dans le corps JSON de votre requête.

Si vous utilisez **Basic**, vous devez envoyer ces données dans l’en-tête `Authorization`, en utilisant le schéma d’authentification `Basic`. Pour générer cette valeur d’identification, concaténez votre Client ID et votre Client Secret, séparés par deux-points (`:`), puis encodez le tout en Base64.

Par exemple, le [point de terminaison de révocation du jeton d’actualisation](https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens). Cette option est offerte uniquement pour les applications confidentielles (comme les applications capables de conserver des informations d’identification de façon sécuritaire sans les exposer à des parties non autorisées).

<div id="client-id">
  ### Client ID
</div>

Envoyez le Client ID. Pour les applications publiques (des applications qui ne peuvent pas conserver des informations d’identification de manière sécuritaire, comme les SPA ou les applications mobiles), nous proposons certains points de terminaison accessibles en utilisant uniquement le Client ID.

Un exemple est le [flux implicite](/implicit-flow/authorize).

<div id="mtls-authentication">
  ### Authentification mTLS
</div>

Générez un certificat, soit [auto-signé](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#self-signed-certificates), soit [signé par une autorité de certification](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#certificate-authority-signed-certificates). Ensuite, [configurez le réseau Customer Edge](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge) qui effectue la négociation mTLS.

Une fois que votre réseau de périphérie a vérifié le certificat, transférez la requête vers le réseau de périphérie d’Auth0 avec les en-têtes suivants :

* La clé API de Custom Domain dans l’en-tête `cname-api-key`.
* Le certificat client dans l’en-tête `client-certificate`.
* L’état de vérification par l’autorité de certification du certificat client dans l’en-tête `client-certificate-ca-verified`. Pour en savoir plus, consultez [Transmettre la requête](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge#forward-the-request-).

Pour en savoir plus, consultez [S’authentifier avec mTLS](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls).

<div id="parameters">
  ## Paramètres
</div>

Pour les requêtes GET, tous les paramètres qui ne sont pas précisés comme segment dans le chemin peuvent être transmis sous forme de paramètre de chaîne de requête HTTP :

`GET https://{yourDomain}/some-endpoint?param=value&param=value`

Pour les requêtes POST, les paramètres qui ne figurent pas dans l’URL doivent être encodés en JSON avec un en-tête Content-Type de `application/json` :

`curl --request POST --url 'https://{yourDomain}/some-endpoint' --header 'content-type: application/json' --data '{"param": "value", "param": "value"}'`

<Note>
  Il existe toutefois une exception : le [flux SSO SAML initié par l’IdP](#idp-initiated-sso-flow), qui utilise à la fois un paramètre de chaîne de requête et une valeur `x-www-form-urlencoded`.
</Note>

<div id="testing">
  ## Test
</div>

Vous pouvez tester les points de terminaison à l’aide de l’[Authentication API Debugger](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension).

<div id="authentication-api-debugger">
  ### Authentication API Debugger
</div>

L’[Authentication API Debugger](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension) est une extension Auth0 que vous pouvez utiliser pour tester plusieurs points de terminaison de l’Authentication API.

[Installer Debugger](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension)

**Si vous avez déjà installé l’extension, passez à l’Authentication API Debugger.**

Le lien varie selon la région de votre tenant : US West, Europe Central ou Australia. Pour en savoir plus sur les régions des tenants, consultez [Create Tenants](https://auth0.com/docs/get-started/auth0-overview/create-tenants#region-locality-and-sub-locality).

<div id="configure-connections">
  ### Configurer les connexions
</div>

1. Dans l’onglet *Configuration*, définissez les champs **Application** (sélectionnez l’application à utiliser pour le test) et **Connexion** (le nom de la connexion sociale à utiliser).

2. Copiez l’**URL de rappel** et ajoutez-la aux **URL de rappel autorisées** dans les [paramètres de l’application](https://manage.auth0.com/dashboard/).

3. Dans l’onglet *OAuth2 / OIDC*, sélectionnez **OAuth2 / OIDC Login**.

<div id="endpoint-options">
  ### Options des points de terminaison
</div>

Configurez d’autres points de terminaison à l’aide des options suivantes :

* Passwordless : dans l’onglet *OAuth2 / OIDC*, réglez **Username** sur le numéro de téléphone de l’utilisateur si `connection=sms`, ou sur l’adresse courriel de l’utilisateur si `connection=email`, et **Password** sur le code de vérification de l’utilisateur. Cliquez sur **Resource Owner Endpoint**.
* SAML SSO :  dans l’onglet *Other Flows*, sélectionnez **SAML**.
* WS-Federation : dans l’onglet *Other Flows*, sélectionnez **WS-Federation**.
* Logout : dans l’onglet *Other Flows*, sélectionnez **Logout** ou **Logout (Federated)** pour aussi déconnecter l’utilisateur du fournisseur d’identité.
* Legacy Login : dans l’onglet *OAuth2 / OIDC*, réglez les champs **ID Token**, **Refresh Token** et **Target Client ID**. Cliquez sur **Delegation**.
* Legacy Delegation : dans l’onglet *OAuth2 / OIDC*, réglez **Username** et **Password**. Cliquez sur **Resource Owner Endpoint**.
* Legacy Resource Owner :  dans l’onglet *OAuth2 / OIDC*, réglez **Username** et **Password**, puis sélectionnez **Resource Owner Endpoint**.

<div id="authentications-flows">
  ### Flux d’authentification
</div>

Configurez les flux d’authentification à l’aide des options suivantes :

* Flux Authorization Code : Dans l’onglet *OAuth2 / OIDC*, entrez dans le champ **Authorization Code** le code que vous avez obtenu à partir de [l’octroi Authorization Code](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow), puis entrez la clé dans **Code Verifier**. Cliquez sur **OAuth2 Code Exchange**.
* Flux Authorization Code + PKCE : Dans l’onglet *OAuth2 / OIDC*, entrez dans le champ **Authorization Code** le code que vous avez obtenu à partir de [l’octroi Authorization Code](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce), puis entrez la clé dans **Code Verifier**. Cliquez sur **OAuth2 Code Exchange**.
* Flux Client Credential :  Dans l’onglet *OAuth2 / OIDC*, sélectionnez **OAuth2 Client Credentials**.

<div id="errors">
  ## Erreurs
</div>

Lorsqu’une erreur se produit, vous recevez un objet d’erreur. La plupart de ces objets d’erreur contiennent un code d’erreur et une description de l’erreur afin que vos applications puissent cerner le problème plus efficacement.

Si vous obtenez un code de réponse HTTP `4xx`, vous pouvez supposer qu’il s’agit d’une mauvaise requête de votre côté.

Les erreurs `5xx` indiquent un problème du côté d’Auth0. Dans ce cas, consultez [Auth0 Status Page](https://status.auth0.com/) et [@auth0status on Twitter](https://twitter.com/auth0status) pour vérifier l’état de nos systèmes.

Dans tous les autres cas, vous pouvez consulter [nos options de soutien](#support).

<div id="rate-limiting">
  ## Limitation du nombre de requêtes
</div>

L’Authentication API est soumise à une limitation du nombre de requêtes. Les limites varient selon le point de terminaison.

Si vous dépassez la limite de requêtes établie pour un point de terminaison donné, vous recevrez une réponse `429 Too Many Requests` avec le message suivant : `Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.`

Pour en savoir plus sur la limitation du nombre de requêtes, consultez la [politique de limitation du nombre de requêtes de l’Auth0 API](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy).

Notez que, pour les connexions de base de données, Auth0 limite certains types de tentatives de connexion répétées selon le compte d’utilisateur et l’adresse IP. Pour en savoir plus, consultez [Rate Limits on User/Password Authentication](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy).

<div id="support">
  ## Soutien
</div>

Si vous avez des problèmes ou besoin d’aide concernant votre dossier, vous pouvez toujours communiquer avec notre [soutien](https://support.auth0.com/).

Veuillez noter que si vous avez un abonnement au forfait Free et que vous n’êtes plus dans votre période d’essai de 22 jours, vous ne pourrez pas accéder au [Support Center](https://support.auth0.com/) ni y ouvrir de tickets. Dans ce cas, vous pouvez obtenir du soutien par l’entremise de la [Auth0 Community](https://community.auth0.com/). Pour en savoir plus sur notre programme de soutien, consultez [Options de soutien](https://auth0.com/docs/troubleshoot/customer-support).
