Skip to main content
L’API d’authentification vous permet de gérer tous les aspects de l’identité de l’utilisateur lorsque vous utilisez Auth0. Elle propose des points de terminaison pour que vos utilisateurs puissent se connecter, s’inscrire, se déconnecter, accéder aux API, etc. L’API prend en charge divers protocoles d’identité, tels que OpenID Connect, Oauth 2.0, FAPI et SAML.
Cette API est conçue pour les personnes qui se sentent à l’aise avec l’intégration avec les API RESTful. Si vous préférez une approche plus guidée, veuillez consulter nos Démarrages rapides ou nos Bibliothèques.

Base URL

L’API d’authentification est servie via HTTPS. Toutes les URL référencées dans la documentation ont la base suivante : https://{yourDomain}

Méthodes d’authentification

Vous disposez de cinq options pour vous authentifier avec cette API :
  • OAuth2 Jeton d’accès
  • ID client et assertion client (applications confidentielles)
  • ID client et secret client (applications confidentielles)
  • ID client (applications publiques)
  • Authentification mTLS (applications confidentielles)

Jeton d’accès OAuth2

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 scénario Obtenir le point de terminaison des informations utilisateur. Dans ce scénario, vous obtenez un jeton d’accès lorsque vous authentifiez un utilisateur, puis vous pouvez faire une demande Obtenir le point de terminaison des informations utilisateur, en utilisant ce jeton dans l’en-tête Authorization, afin de récupérer le profil de l’utilisateur.

ID client et assertion client

Génèrent une assertion du client contenant un jeton Web JSON signé (JWT) pour l’authentification. Dans le corps de la demande, incluez votre identifiant client, un paramètre client_assertion_type avec la valeur urn:ietf:params:oauth:client-assertion-type:jwt-bearer, et un paramètre client_assertion avec votre assertion signée. Consultez Clé privée JWT pour des exemples.

ID client et secret client

Envoyez l’ID client et le secret client. La méthode que vous pouvez utiliser pour envoyer ces données est déterminée par la Méthode d’authentification du point de terminaison du jeton 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 identifiant client et votre secret client, séparés par deux points (:), et encodez-les en Base64. Un exemple est le point de terminaison Révoquer le jeton d’actualisation. Cette option est accessible uniquement aux applications confidentielles, c’est-à-dire celles capables de stocker les informations d’identification en toute sécurité sans les exposer à des tiers non autorisés.

ID client

Envoyer l’ID client. Pour les applications publiques, celles qui ne peuvent pas stocker les informations d’identification en toute sécurité, comme les applications SPA ou mobiles, nous proposons des points de terminaison accessibles uniquement à l’aide de l’ID client. Un exemple est le Flux d’autorisation implicite.

Authentification mTLS

Générez un certificat, soit auto-signé ou signé par une autorité de certification. Ensuite, configurez le réseau de périphérie client qui effectue l’établissement de liaison mTLS. Une fois que votre réseau périphérique a vérifié le certificat, transmettez la demande au réseau périphérique 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 de l’autorité de certification du certificat client comme en-tête client-certificate-ca-verified. Pour plus d’informations, veuillez consulter Transférer la demande.
Pour en savoir plus sur cette fonctionnalité, veuillez consulter Authentifier avec mTLS.

Paramètres

Pour les requêtes GET, tous les paramètres qui ne sont pas indiqués comme segments dans le chemin peuvent être transmis sous forme de paramètres dans la chaîne de requête HTTP : GET https://{yourDomain}/some-endpoint?param=value&param=value Pour les requêtes POST, les paramètres non inclus dans l’URL doivent être codés en JSON avec un type de contenu de application/json : curl --request POST --url 'https://{yourDomain}/some-endpoint' --header 'content-type: application/json' --data '{"param": "value", "param": "value"}'
Une exception à cette règle est le SAML IdP-Initiated Single Sign-on (SSO) Flow (Flux d’authentification unique (SSO) initié par l’IdP SAML), qui utilise à la fois un paramètre de chaîne de requête et une valeur x-www-form-urlencoded.

Exemples de code

Pour chaque point de terminaison, des exemples d’extraits prêts à l’emploi vous sont proposés en trois formats différents :
  • Requête HTTP
  • Commande curl
  • JavaScript : en fonction du point de terminaison, chaque extrait peut utiliser la Bibliothèque Auth0.js, code Node.js ou simplement JavaScript
Chaque demande doit être envoyée avec un type de contenu de application/json.

Test

Vous pouvez tester les points de terminaison à l’aide du Débogueur Authentication API.

Débogueur Authentication API

Le Débogueur Authentication API est une extension Auth0 que vous pouvez utiliser pour tester plusieurs points de terminaison d’Authentication API. Cliquez sur Install Debugger (Installer le débogueur) pour accéder à l’article qui explique le fonctionnement (vous n’avez à le faire qu’une seule fois). Install Debugger (Installer le débogueur) Si vous avez déjà installé l’extension, passez au débogueur d’Authentication API. 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.

Configurer les connexions

  1. Dans l’onglet Configuration, définissez les champs Application (sélectionnez l’application que vous souhaitez utiliser pour le test) et Connection (Connexion) (le nom de la connexion sociale à utiliser).
  2. Copiez la Callback URL et définissez-la comme faisant partie des Allowed Callback URLs (Callback URL autorisées) dans vos Application Settings (Paramètres d’application).
  3. Dans l’onglet OAuth2 / OIDC, sélectionnez OAuth2 / OIDC Login (Connexion OAuth2 / OIDC).

Options de point de terminaison

Configurez d’autres points de terminaison avec les options suivantes :
  • Sans mot de passe : Dans l’onglet OAuth2 / OIDC définissez Username (Nom d’utilisateur) sur le numéro de téléphone de l’utilisateur si connection=sms, ou sur le courriel de l’utilisateur si connection=email, et Password (Mot de passe) sur le code de vérification de l’utilisateur. Cliquez sur Resource Owner Endpoint (Point de terminaison du propriétaire de la ressource).
  • SAML SSO : Dans l’onglet Other Flows (Autres flux), sélectionnez SAML.
  • WS-Federation : Dans l’onglet Other Flows (Autres flux), sélectionnez WS-Federation.
  • Déconnexion : Dans l’onglet Other Flows (Autres flux), sélectionnez Logout (Déconnexion), ou Logout (Federated) (Déconnexion [fédérée]) pour déconnecter également l’utilisateur du fournisseur d’identité.
  • Connexion héritée : Dans l’onglet OAuth2 / OIDC, définissez les champs ID Token (Jeton d’identification), Refresh Token (Jeton d’actualisation) et Target Client ID (ID client cible). Cliquez sur Delegation (Délégation).
  • Délégation héritée : Dans l’onglet OAuth2/ OIDC, définissez Username (Nom d’utilisateur) et Password (Mot de passe). Cliquez sur Resource Owner Endpoint (Point de terminaison du propriétaire de la ressource).
  • Propriétaire des ressources héritées : Dans l’onglet OAuth2 / OIDC, définissez Username (Nom d’utilisateur) et Password (Mot de passe), puis sélectionnez Resource Owner Endpoint (Point de terminaison du propriétaire de la ressource).

Flux d’authentification

Configurez les flux d’authentification avec les options suivantes :
  • Flux de code d’autorisation : Dans l’onglet OAuth2 / OIDC définissez le champ Authorization Code (Code d’autorisation) sur le code que vous avez récupéré à partir de Octroi de code d’autorisation, et le Code Verifier (Vérificateur de code) sur la clé. Cliquez sur OAuth2 Code Exchange (Échange de codes OAuth2).
  • Flux Code d’autorisation + PKCE : Dans l’onglet OAuth2 / OIDC définissez le champ Authorization Code (Code d’autorisation) sur le code que vous avez récupéré à partir de Octroi de code d’autorisation, et le Code Verifier (Vérificateur de code) sur la clé. Cliquez sur OAuth2 Code Exchange (Échange de codes OAuth2).
  • Flux d’informations d’identification du client : Dans l’onglet OAuth2 / OIDC, sélectionnez OAuth2 Client Credentials (Identifiants du client OAuth2).

Erreurs

Lorsqu’une erreur se produit, vous recevrez un objet d’erreur. La majorité de ces objets d’erreur incluent un code et une description, permettant à vos applications d’identifier le problème avec davantage de précision. Si vous recevez un code de réponse HTTP 4xx, vous pouvez en déduire qu’il s’agit d’une requête incorrecte de votre part. Les erreurs 5xx indiquent qu’un problème existe du côté d’Auth0, donc dans ce cas, consultez la page d’état Auth0 et @auth0status sur X pour déterminer l’état de vos systèmes. Dans tous les autres cas, vous pouvez utiliser nos options d’assistance.

Limite anti-attaques

L’Authentication API est soumise à une limite anti-attaques. Les limites diffèrent en fonction du point de terminaison. Si vous dépassez la limite anti-attaques fournie 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 la limitation anti-attaques, veuillez consulter la Politique de limite anti-attaques de l’API Auth0. Veuillez noter que pour les connexions de bases de données Auth0 limite certains types de tentatives de connexion répétées selon l’adresse IP du compte utilisateur. Pour plus de détails, veuillez consulter Limites anti-attaques pour l’authentification par utilisateur/mot de passe.

Assistance

Si vous rencontrez des problèmes ou avez besoin d’aide concernant votre cas particulier, vous pouvez toujours contacter notre Centre d’assistance. Veuillez noter que si vous disposez d’un abonnement gratuit et que votre période d’essai de 22 jours est expirée, vous ne pourrez ni accéder ni soumettre de tickets au Centre d’assistance. Dans ce cas, vous pouvez demander de l’aide via Communauté Auth0. Pour plus d’informations sur notre programme d’assistance, veuillez consulter Options d’assistance.