Points de terminaison concernés
| Point de terminaison | Cas d’utilisation |
|---|---|
| GET /api/v2/users/ | Obtenir les renseignements d’un utilisateur |
| GET /api/v2/users//enrollments | Obtenir toutes les inscriptions MFA Guardian d’un utilisateur |
| PATCH /api/v2/users/ | Mettre à jour les renseignements d’un utilisateur |
| DELETE /api/v2/users//multifactor/ | Supprimer les paramètres du fournisseur MFA d’un utilisateur |
| POST /api/v2/device-credentials | Créer une clé publique pour un appareil |
| DELETE /api/v2/device-credentials/ | Supprimer un identifiant d’appareil |
| POST/api/v2/users//identities | Lier des comptes d’utilisateur provenant de divers fournisseurs d’identité |
| DELETE /api/v2/users//identities// | Dissocier des comptes d’utilisateur |
Actions
Modifications des scopes
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 le scope read:current_user, vous pouvez seulement récupérer les renseignements de l’utilisateur actuellement connecté (celui pour lequel le jeton a été émis).
| Point de terminaison | Scope pour l’utilisateur actuel | Scope pour n’importe quel utilisateur |
|---|---|---|
| GET /api/v2/users/ | read:current_user | read:users |
| GET /api/v2/users//enrollments | read:current_user | read:users |
| POST/api/v2/users//identities | update:current_user_identities | update:users |
| DELETE /api/v2/users//identities// | update:current_user_identities | update:users |
| PATCH /api/v2/users/ | update:current_user_metadata | update:users |
| PATCH /api/v2/users/ | create:current_user_metadata | update:users |
| DELETE /api/v2/users//multifactor/ | delete:current_user_metadata | update:users |
| POST /api/v2/device-credentials | create:current_user_device_credentials | create:device_credentials |
| DELETE /api/v2/device-credentials/ | delete:current_user_device_credentials | delete:device_credentials |
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 les renseignements complets du profil de l’utilisateur connecté. Pour ce faire, nous allons d’abord authentifier l’utilisateur à l’aide de l’octroi implicite et récupérer le ou les jetons. Ci-dessous, vous pouvez voir une implémentation de l’ancienne approche, qui obtient un ID Token puis l’utilise pour appeler le 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 permettant d’accéder à la Management API :
- Définissez
audiencesurhttps://{yourDomain}/api/v2/ - Demandez le scope
${scope} - Définissez
response_typesurid_token tokenpour qu’Auth0 envoie à la fois un jeton d’identité et un jeton d’accès
aud correspond à l’URI d’API de votre locataire, que scope correspond à ${scope} et que sub correspond à l’ID utilisateur de l’utilisateur connecté.
Une fois le jeton d’accès obtenu, vous pouvez l’utiliser pour appeler le point de terminaison. Cette partie reste inchangée : 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 toutes les informations du profil de l’utilisateur connecté. Commencez par authentifier l’utilisateur à l’aide de l’octroi Password Exchange, puis récupérez le ou les jetons. Ci-dessous, vous pouvez voir une implémentation de l’ancienne approche, qui obtient un ID Token (puis l’utilise pour appeler le point de terminaison).
Dans l’exemple ci-dessous, vous pouvez également voir la nouvelle approche permettant aussi d’obtenir un jeton d’accès.
Pour obtenir un Jeton d’accès permettant d’accéder à la Management API :
- Définissez
audsurhttps://{yourDomain}/api/v2/ - Demandez le scope
read:current_user
Bearer. La réponse reste elle aussi la même.
Lock intégré 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 cible du jeton
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 de la liaison de comptes
-
Vous ne pouvez plus utiliser un ID Token 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 l’ID Token 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 uniquement envoyer l’ID Token du compte secondaire dans le corps de la requête. Les conditions suivantes doivent être respectées :- Le jeton d’identité doit être signé à l’aide de
RS256(vous pouvez définir cette valeur dans Auth0 Dashboard > Applications > paramètres de l’application > Paramètres avancés > OAuth) - La revendication
auddu jeton d’identité doit identifier l’application et avoir la même valeur que la revendicationazpdu jeton d’accès
- Le jeton d’identité doit être signé à l’aide de
Restrictions
aud. Si votre jeton contient plus d’une valeur, votre requête vers la Management API échouera.