Si Token Vault est activé pour votre connexion, les jetons d’accès et d’actualisation ne seront plus stockés dans le tableau
identities de l’utilisateur. Ils seront plutôt stockés dans un ensemble de jetons sécurisé dans Token Vault. Pour activer Token Vault, consultez Configurer Token Vault.Cet article suppose que vous avez déjà configuré la connexion avec l’IdP de votre choix. Sinon, consultez Fournisseurs d’identité pris en charge par Auth0, sélectionnez l’IdP souhaité et suivez les étapes de configuration.
- Si votre code s’exécute dans le backend, nous pouvons supposer que votre serveur est digne de confiance et peut stocker des secrets en toute sécurité (comme vous le verrez, nous utilisons un secret dans le scénario backend). Si c’est le cas, passez à la section backend de cet article.
- Si votre code s’exécute dans le frontend (par exemple, il s’agit d’une SPA, d’une application de bureau native ou d’une application mobile), votre application ne peut pas stocker des informations d’authentification de façon sécurisée et doit suivre une autre approche. Dans ce cas, passez à la section frontend de cet article.
Depuis le backend
Une fois que vous avez authentifié un utilisateur, l’IdP inclut souvent un jeton d’accès dans le profil utilisateur qu’il renvoie à Auth0. Pour des raisons de sécurité et de conformité, Auth0 n’envoie pas ce jeton à votre application dans le profil utilisateur. Pour l’obtenir, vous devez accéder à l’API Auth0 et récupérer le profil complet de l’utilisateur :- Obtenez un jeton d’accès qui vous permet d’effectuer une requête à l’Auth0 Management API.
- Effectuez une requête à l’point de terminaison Get Users by ID de l’Auth0 Management API à l’aide du jeton d’accès obtenu à l’étape 1. Cet point de terminaison renvoie le profil complet de l’utilisateur, qui contient le jeton d’accès de l’IdP.
- Extrayez le jeton d’accès de l’IdP de la réponse et utilisez-le pour effectuer une requête à l’API de l’IdP.
Étape 1 : Obtenir un jeton
Vous aurez besoin d’un jeton d’accès pour effectuer une requête à la Management API.Créer une application de test pour la Management API
Si c’est la première fois que vous demandez un Management APIv2 Token, vous devrez créer et configurer une application qui pourra être utilisée pour appeler la Management API :- Accédez à Auth0 Dashboard > Applications > APIs, puis sélectionnez l’Auth0 Management API.
- Sélectionnez la vue API Explorer, puis cliquez sur Create & Authorize a Test Application.
Vous ne voyez pas le bouton ?
Si vous ne voyez pas ce bouton, cela signifie que vous avez déjà au moins une application autorisée pour la Management API. Dans ce cas, vous pouvez soit mettre à jour les scopes de l’application existante et l’utiliser, soit en créer une nouvelle en suivant ces étapes :
- Accédez à Auth0 Dashboard > Applications > Applications, puis sélectionnez Create Application.
- Sélectionnez Machine to Machine Applications, puis Create.
- Dans la liste déroulante Select an API, sélectionnez
Auth0 Management API. - Activez les scopes requis, puis sélectionnez Authorize.
- Sélectionnez la vue APIs, puis activez la bascule pour Auth0 Management API.

Obtenir le jeton de la Management API
Vous avez maintenant terminé la configuration et êtes prêt à obtenir votre jeton de la Management API :- Dans la Auth0 Management API enregistrée, sélectionnez la vue Test.
- Choisissez votre application dans la liste déroulante Application pour préremplir les extraits de code prêts à l’emploi avec des variables personnalisées.
- Choisissez la langue de votre choix pour l’extrait de code, puis copiez-le et exécutez-le.
- Extrayez la propriété
access_tokende la réponse. C’est ce que vous utiliserez pour accéder à la Management API.
Que font les extraits de code ?
Les extraits de code effectuent une requête
POST vers l’point de terminaison /oauth/token de l’Auth0 Authentication API, en utilisant le grant Client Credentials d’OAuth 2.0. C’est le grant que les processus machine-to-machine utilisent pour accéder à une API. Pour en savoir plus sur ce flux, consultez Client Credentials Flow.Expiration du jeton
Par défaut, le jeton que vous avez reçu expire après 24 heures (86 400 secondes). Pour modifier ce paramètre :- Accédez à Auth0 Dashboard > Applications > APIs, puis sélectionnez l’Auth0 Management API.
- Sélectionnez la vue Settings, repérez le champ Token Expiration (Seconds), saisissez une nouvelle valeur, puis cliquez sur Save. La valeur maximale que vous pouvez définir est de 2 592 000 secondes (30 jours), bien que nous vous recommandions de conserver la valeur par défaut.
Étape 2 : Obtenir le profil utilisateur complet
Pour obtenir le profil d’un utilisateur, effectuez une requête au point de terminaison Get a User de la Management API à l’aide du jeton d’accès que vous avez extrait dans la section précédente :Vous utilisez Auth0 CLI ? Si ce n’est pas déjà fait, configurez et authentifiez votre session CLI avant d’exécuter cette commande.
{userId}: ID de l’utilisateur pour lequel vous voulez effectuer une requête à l’API de l’IdP.{yourAccessToken}: jeton d’accès que vous avez extrait dans la section précédente.
Où trouver l’ID utilisateur ?
- À des fins de test, vous pouvez trouver un ID utilisateur dans Auth0 Dashboard > User Management > Users. Repérez un utilisateur et copiez la valeur du champ user_id.
-
Pour votre mise en œuvre, vous pouvez soit extraire l’ID utilisateur de la claim
subdans le ID Token, soit effectuer une requête au point de terminaison /userinfo de la Authentication API et l’extraire de la propriété de réponseuser_id.
Étape 3 : Extraire le jeton d’accès de l’IdP
Vous trouverez le jeton d’accès utilisé pour envoyer une requête à l’API de l’IdP dans le tableauidentities de l’utilisateur : user.identities[0].access_token.
Pour certains fournisseurs d’identité, Auth0 stocke également un jeton d’actualisation, que vous pouvez utiliser pour obtenir un nouveau jeton d’accès de l’IdP. Cela fonctionne pour : BitBucket, Google (OAuth 2.0), OAuth 2.0, SharePoint et Azure AD. Pour en savoir plus, consultez Jetons d’accès du fournisseur d’identité.
google-oauth2.
Pour en savoir plus sur la façon de demander des scopes/autorisations spécifiques pour un jeton d’accès du fournisseur d’identité, consultez Ajouter des scopes/autorisations pour appeler les API du fournisseur d’identité.
Côté frontend
Si vous travaillez avec une application publique (SPA, application native de bureau ou application mobile), vous êtes au bon endroit. Lorsque vous travaillez avec une application frontend, le processus pour appeler les API de l’IdP diffère de celui du backend, car les applications frontend sont des applications publiques qui ne peuvent pas stocker des informations d’authentification de façon sécuritaire. Comme le code d’une SPA peut être consulté et modifié, et que les applications natives ou mobiles peuvent être décompilées et inspectées, on ne peut pas leur faire confiance pour stocker des renseignements sensibles, comme des clés secrètes ou des mots de passe. Plus précisément, elles ne peuvent pas stocker de façon sécuritaire le de la Machine to Machine Application, que vous utilisez pour appeler/oauth/token à la première étape du processus backend.
Vous devez plutôt créer un proxy pour votre backend et l’exposer à votre application sous forme d’API.
Créer un proxy
D’abord, vous allez créer un processus dans votre backend qui mettra en œuvre les étapes décrites dans la section backend de cet article, puis l’exposer à votre application sous forme d’API. Vous appellerez l’API de l’IdP depuis ce même processus backend, afin que le jeton d’accès ne soit jamais exposé à votre application publique. Ensuite, vous appellerez votre API proxy à partir de votre application publique en utilisant le flux du code d’autorisation avec clé de preuve pour l’échange de code (PKCE).Montrez-moi comment faire
Si c’est la première fois que vous mettez cela en œuvre, notre scénario d’architecture Applications monopages (SPA) avec API pourrait vous être utile. Il couvre un scénario différent, mais explique comment configurer Auth0, comment appeler une API depuis une SPA et comment mettre en œuvre les validations d’API. Il comprend un exemple qui utilise Angular 2 et Node.js.Nous proposons aussi une variante Applications mobiles avec API (l’exemple utilise Android et Node.js).