> ## 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é des utilisateurs lorsque vous utilisez Auth0. Elle offre des points de terminaison pour permettre à vos utilisateurs de se connecter, de s’inscrire, de se déconnecter, d’accéder à des API, et plus encore.

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

L’API prend en charge différents 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 qui sont à l’aise avec l’intégration d’API RESTful. Si vous préférez une approche plus guidée, consultez nos [guides de démarrage rapide](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 via HTTPS. Toutes les URL mentionnées dans la documentation utilisent l’URL de 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
* ID client et Assertion d’application (applications confidentielles)
* ID client et Secret client (applications confidentielles)
* ID client (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`.

Vous trouverez un exemple dans le [point de terminaison Get User Info](/fr-CA/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 à l’[point de terminaison Get User Info](/fr-CA/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">
  ### ID client et assertion d’application
</div>

Générez une [assertion d’application](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) contenant un JSON Web Token (JWT) signé pour l’authentification. Dans le corps de la requête, incluez votre ID client, un paramètre `client_assertion_type` comportant la valeur `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 voir des exemples.

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

Envoyez l’ID client et le Secret client. La méthode à utiliser pour envoyer ces données dépend de la [méthode d’authentification du point de terminaison de jeton](https://auth0.com/docs/get-started/applications/confidential-and-public-applications/view-application-type) 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 votre valeur d’identification, concaténez votre ID client et votre Secret client, séparés par un deux-points (`:`), puis encodez le tout en Base64.

Le [point de terminaison de révocation du Jeton d’actualisation](https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens) en est un exemple. Cette option est disponible uniquement pour les applications confidentielles (comme les applications capables de conserver des identifiants de manière sécurisée sans les exposer à des tiers non autorisés).

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

Envoyez l’ID client. Pour les applications publiques (applications qui ne peuvent pas stocker des identifiants de manière sécurisée, comme les SPA ou les applications mobiles), certains points de terminaison sont accessibles en utilisant uniquement l’ID client.

Par exemple, l’[octroi implicite](/fr-CA/implicit-flow/authorize).

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

Générez un certificat, soit [autosigné](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 de périphérie du client](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 du Domaine personnalisé comme en-tête `cname-api-key`.
* Le certificat client comme en-tête `client-certificate`.
* Le statut de vérification du certificat client par l’autorité de certification comme en-tête `client-certificate-ca-verified`. Pour en savoir plus, consultez [Transférer 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, tout paramètre qui n’est pas indiqué comme segment du chemin peut ê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 `Content-Type` de `application/json` :

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

<Note>
  Une exception est le [flux d’authentification unique (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 le 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 locataire : Ouest des États-Unis, Europe centrale ou Australie. Pour en savoir plus sur les régions de locataire, consultez [Créer des locataires](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*, renseignez les champs **Application** (sélectionnez l’application que vous souhaitez utiliser pour le test) et **Connexion** (le nom de la connexion sociale à utiliser).

2. Copiez l’**URL de rappel** et ajoutez-la à **Allowed Callback URLs** dans vos [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 les autres points de terminaison avec les options suivantes :

* Passwordless : dans l’onglet *OAuth2 / OIDC*, définissez **Username** comme le numéro de téléphone de l’utilisateur si `connection=sms`, ou comme le courriel de l’utilisateur si `connection=email`, et **Password** comme 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 également déconnecter l’utilisateur du fournisseur d’identité.
* Ancien Login : dans l’onglet *OAuth2 / OIDC*, définissez les champs **ID Token**, **Refresh Token** et **Target Client ID**. Cliquez sur **Delegation**.
* Ancienne délégation : dans l’onglet *OAuth2 / OIDC*, définissez **Username** et **Password**. Cliquez sur **Resource Owner Endpoint**.
* Ancien Resource Owner : dans l’onglet *OAuth2 / OIDC*, définissez **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 de code d’autorisation : dans l’onglet *OAuth2 / OIDC*, renseignez le champ **Authorization Code** avec le code récupéré dans [l’octroi par code d’autorisation](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow), puis le champ **Code Verifier** avec la clé. Cliquez sur **OAuth2 Code Exchange**.
* Flux de code d’autorisation + PKCE : dans l’onglet *OAuth2 / OIDC*, renseignez le champ **Authorization Code** avec le code récupéré dans [l’octroi par code d’autorisation](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce), puis le champ **Code Verifier** avec la clé. Cliquez sur **OAuth2 Code Exchange**.
* Flux des identifiants de l’application :  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 requête incorrecte de votre côté.

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

Dans tous les autres cas, vous pouvez utiliser [nos options d’assistance](#support).

<div id="rate-limiting">
  ## Limites de débit
</div>

L’Authentication API est soumise à des limites de débit. Celles-ci varient selon le point de terminaison.

Si vous dépassez la limite de débit établie pour un point de terminaison donné, vous recevrez la 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 plus de détails sur les limites de débit, consultez la [politique de limite de débit de l’API Auth0](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 plus de détails, consultez [les limites de débit pour l’authentification par nom d’utilisateur et mot de passe](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy).

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

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

Notez que si vous avez un abonnement gratuit et que votre période d’essai de 22 jours est terminée, vous ne pourrez pas accéder au [Support Center](https://support.auth0.com/) ni y ouvrir de tickets. Dans ce cas, vous pouvez obtenir de l’aide par l’entremise de la [communauté Auth0](https://community.auth0.com/). Pour en savoir plus sur notre programme de support, consultez [Options de support](https://auth0.com/docs/troubleshoot/customer-support).
