Points de terminaison touchés
Actions
Modifications des portées
read:users, vous pouvez récupérer les données de n’importe quel utilisateur à l’aide du point de terminaison GET /api/v2/users/{id}. Cependant, si votre jeton contient la portée read:current_user, vous ne pouvez récupérer que les renseignements de l’utilisateur actuellement connecté (celui pour lequel le jeton a été émis).
Obtenir des jetons d’accès
- SPA exécutée dans un navigateur : utilisez le point de terminaison d’autorisation.
- Application web exécutée sur un serveur, application mobile, processus côté serveur ou application hautement fiable : utilisez le .
- Authentification croisée : utilisez Lock intégré ou auth0.js pour authentifier les utilisateurs lorsque les requêtes proviennent de domaines différents.
GET User by ID pour récupérer toutes les informations du profil de l’utilisateur connecté. Pour ce faire, nous commencerons par authentifier l’utilisateur au moyen de l’Implicit grant et récupérer le ou les tokens. Ci-dessous, vous pouvez voir une mise en œuvre de l’ancienne approche, qui obtient un jeton d’identité puis l’utilise pour effectuer une requête au point de terminaison.
Dans l’exemple ci-dessous, vous pouvez voir la nouvelle approche pour obtenir un jeton d’accès.
Pour obtenir un jeton d’accès pour la Management API :
- Définissez
audiencesurhttps://{yourDomain}/api/v2/ - Demandez la portée
${scope} - Définissez
response_typesurid_token tokenafin qu’Auth0 envoie à la fois un jeton d’identité et un jeton d’accès
aud correspond à l’URI de l’API de votre tenant, portée à ${scope} et sub à l’ID de l’utilisateur connecté.
Une fois que vous avez le jeton d’accès, vous pouvez l’utiliser pour envoyer une requête au point de terminaison. Cette partie reste la même : rien d’autre ne change dans la requête, sauf la valeur utilisée comme jeton Bearer. La réponse reste également la même.
Point de terminaison de jeton
GET User by ID pour récupérer l’ensemble des renseignements de profil de l’utilisateur connecté. Commencez par authentifier l’utilisateur à l’aide du grant Password Exchange, puis récupérez le ou les jetons. Ci-dessous, vous pouvez voir une mise en œuvre de l’ancienne approche, qui obtient un jeton d’identité (puis l’utilise pour envoyer une requête au point de terminaison).
Dans l’exemple ci-dessous, vous pouvez également voir la nouvelle approche qui permet d’obtenir un jeton d’accès.
Pour obtenir un jeton d’accès qui permet d’accéder à la Management API :
- Définissez
audsurhttps://{yourDomain}/api/v2/ - Demandez la portée
read:current_user
Bearer. La réponse reste également la même.
Embedded Lock ou auth0.js
-
Demandez à la fois un jeton d’identité et un jeton d’accès dans la réponse
responseType: 'token id_token' -
Définissez la Management API comme l’ du token
audience: 'https://YOUR_DOMAIN/api/v2/' -
Demandez l’autorisation requise
scope: 'read:current_user' - Authentifiez-vous auprès de la Management API à l’aide du jeton d’accès
Modifications à la liaison de comptes
-
Vous ne pouvez plus utiliser un jeton d’identité dans l’en-tête
Authorization -
Si vous utilisez un jeton d’accès dans l’en-tête
Authorization, avecupdate:userscomme permission accordée, vous pouvez envoyer dans le corps de la requête soit leuser_id, soit le jeton d’identité du compte secondaire -
Si vous utilisez un jeton d’accès dans l’en-tête
Authorization, avecupdate:current_user_metadatacomme permission accordée, vous pouvez seulement envoyer le jeton d’identité du compte secondaire dans le corps de la requête. Les conditions suivantes doivent être respectées :- Le jeton d’identité doit être signé avec
RS256(vous pouvez définir cette valeur dans Dashboard > Applications > Paramètres de l’application > Paramètres avancés > OAuth) - La claim
auddu jeton d’identité doit identifier l’application et avoir la même valeur que la claimazpdu jeton d’accès
- Le jeton d’identité doit être signé avec
Restrictions
aud. Si votre jeton contient plus d’une valeur, votre requête à la Management API échouera.