Points de terminaison concernés
| Point de terminaison | Cas d’utilisation |
|---|---|
| GET /api/v2/users/ | Récupérer les informations d’un utilisateur |
| GET /api/v2/users//enrollments | Récupérer toutes les inscriptions Guardian MFA pour un utilisateur |
| PATCH /api/v2/users/ | Mettre à jour les informations d’un utilisateur |
| DELETE /api/v2/users//multifactor/ | Supprimer les paramètres du fournisseur multi-facteurs pour un utilisateur |
| POST /api/v2/device-credentials | Créer une clé publique pour un appareil |
| DELETE /api/v2/device-credentials/ | Supprimer les informations d’identification d’un appareil |
| POST/api/v2/users//identities | Associer des comptes d’utilisateurs de différents fournisseurs d’identité |
| DELETE /api/v2/users//identities// | Désassocier des comptes d’utilisateurs |
Actions
Modifications de permissions
read:users, vous pouvez récupérer les données de n’importe quel utilisateur en utilisant le point de terminaison GET /api/v2/users/{id} . Toutefois, si votre jeton contient la permission read:current_user, vous ne pouvez récupérer que les informations de l’utilisateur actuellement connecté (celui pour lequel le jeton a été émis).
| Point de terminaison | Permission pour l’utilisateur actuel | Permission pour tout 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 fonctionnant dans un navigateur : utilisez le point de terminaison d’autorisation.
- Application Web exécutée sur un serveur, application mobile, processus serveur ou application hautement fiable : utilisez le point de terminaison du jeton.
- Authentification croisée : utilisez Lock intégré ou auth0.js pour authentifier les utilisateurs lorsque les demandes proviennent de domaines différents.
GET User by ID (Obtenir l’utilisateur par identifiant) pour récupérer les informations de profil complètes 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(s) jeton(s). Vous pouvez voir ci-dessous une implémentation de l’ancienne approche qui obtient un jeton d’ID et l’utilise ensuite pour appeler le point de terminaison.
Dans l’exemple ci-dessous, vous pouvez voir la nouvelle approche qui obtient un jeton d’accès.
Pour obtenir un jeton d’accès permettant d’accéder à Management API :
- Définir
audienceàhttps://{yourDomain}/api/v2/ - Demander la permission
${scope} - Définissez le
response_typeàid_token tokenpour que Auth0 envoie à la fois un jeton d’ID et un jeton d’accès.
aud est défini sur l’URI de l’API de votre locataire, scope est défini sur ${scope}, et sub est défini sur l’identifiant de l’utilisateur connecté.
Une fois que vous avez le jeton d’accès, vous pouvez l’utiliser pour appeler le point de terminaison. Cette partie reste inchangée, rien d’autre ne change dans la demande, à l’exception de la valeur utilisée comme jeton Bearer. La réponse reste également la même.
Point de terminaison du jeton
GET User by ID pour récupérer les informations de profil complètes de l’utilisateur connecté. Tout d’abord, authentifiez l’utilisateur à l’aide de l’octroi Password Exchange (Échange de mot passe), puis récupérez le(s) jeton(s). Vous pouvez voir ci-dessous une implémentation de l’ancienne approche qui obtient un jeton d’ID (et l’utilise ensuite pour appeler le point de terminaison).
Dans l’exemple ci-dessous, vous pouvez voir la nouvelle approche qui obtient également un jeton d’accès.
Pour obtenir un jeton d’accès permettant d’accéder à Management API :
- Définir le
audàhttps://{yourDomain}/api/v2/ - Demandez la permission
read:current_user
Bearer. La réponse reste également la même.
Lock intégré ou auth0.js
-
Demandez un jeton d’ID et un jeton d’accès dans la réponse
responseType: ’token id_token’ -
Définir Management API comme visée par le jeton
audience: ’https://YOUR_DOMAIN/api/v2/’ -
Demander la permission requise
scope: ’read:current_user’ - S’authentifier auprès de Management API à l’aide du jeton d’accès
Changements dans la liaison des comptes
-
Vous ne pouvez plus utiliser de jeton d’ID 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’ID 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 ne pouvez envoyer que le jeton d’ID du compte secondaire dans le corps de la requête. Les conditions suivantes doivent être remplies :- Le jeton d’ID doit être signé à l’aide de
RS256(vous pouvez définir cette valeur dans Dashboard > Applications > Paramètres de l’application > Paramètres avancés > OAuth). - La demande
auddu jeton d’ID doit identifier l’application et avoir la même valeur que la demandeazpdu jeton d’accès.
- Le jeton d’ID doit être signé à l’aide de
Restrictions
aud. Si votre jeton contient plus d’une valeur, votre demande au Management API sera rejetée.