Limites
Étant donné que les applications monopage (SPA) sont des clients publics et qu’elles ne peuvent pas stocker en toute sécurité des informations sensibles (telles qu’un secret client), elles doivent récupérer les jetons de Management API à partir du système du côté client, contrairement à d’autres types d’applications. Cela signifie que les jetons de Management API pour les SPA présentent certaines limites. En particulier, ils sont émis dans le contexte de l’utilisateur actuellement connecté à Auth0, ce qui limite les mises à jour aux seules données de l’utilisateur connecté. Bien que cela limite l’utilisation de Management API, il est toujours possible de l’utiliser pour effectuer des actions liées à la mise à jour du profil utilisateur connecté.Auth0 ne recommande pas de placer des jetons de Management API sur le système du côté client qui permettent aux utilisateurs de modifier les métadonnées utilisateur. Cela peut permettre aux utilisateurs de manipuler leurs propres métadonnées d’une manière qui pourrait nuire au fonctionnement des applications. Cela permet également à un client de lancer une attaque DoS (Attaque par déni de service) contre Management API d’un autre utilisateur en l’inondant simplement de requêtes et en atteignant les limites anti-attaques.
Permissions et points de terminaison disponibles
Avec un jeton émis pour une application monopage, vous pouvez accéder aux permissions suivantes (et donc aux points de terminaison).Les changements de mot de passe via le point de terminaison PATCH /api/v2/users/ ne sont pas possibles avec un jeton de Management API émis pour une SPA.
Permission de l’utilisateur actuel | Point de terminaison |
---|---|
read:current_user | GET /api/v2/users/ GET /api/v2/users//enrollments |
update:current_user_identities | POST/api/v2/users//identities DELETE /api/v2/users//identities// |
update:current_user_metadata | PATCH /api/v2/users/ |
create:current_user_metadata | PATCH /api/v2/users/ |
create:current_user_device_credentials | POST /api/v2/device-credentials |
delete:current_user_device_credentials | DELETE /api/v2/device-credentials/ |
Les permissions et points de terminaison ci-dessus sont sujets à des limites anti-attaques.
Utiliser le jeton Management API pour appeler Management API à partir d’une application monopage
Vous pouvez récupérer un jeton Management API à partir d’une application monopage (en utilisant l’ de Management API pour le générer) et utiliser le jeton pour appeler Management API afin de récupérer le profil utilisateur complet de l’utilisateur actuellement connecté.-
Récupérer un jeton de Management API.
- Authentifiez l’utilisateur en le redirigeant vers le point de terminaison Authorization, qui est l’endroit où les utilisateurs sont dirigés lors de la connexion ou de l’inscription.
- Lorsque vous recevez le jeton de Management API, il est au format jeton Web JSON.
- Décodez-le et examinez son contenu.
-
Appelez Management API pour récupérer le profil utilisateur de l’utilisateur connecté à partir du point de terminaison Get User by ID (Obtenir un utilisateur par identifiant).
- Pour appeler le point de terminaison, incluez le jeton Management API codé que vous avez récupéré dans l’en-tête
Authorization (Autorisation)
de la requête. - Veillez à remplacer les paramètres fictifs
USER_ID
etMGMT_API_ACCESS_TOKEN
par l’identifiant utilisateur de l’utilisateur connecté (valeursub
du jeton Management API décodé) et le jeton d’accès à Management API, respectivement.
- Pour appeler le point de terminaison, incluez le jeton Management API codé que vous avez récupéré dans l’en-tête