Accès délégué par l’utilisateur vs accès client
- Accès client : utilisé pour l’accès machine à machine, ce qui correspond au Client Credentials Flow.
- Accès délégué par l’utilisateur : utilisé pour tous les flux d’accès qui génèrent un jeton d’accès associé à un utilisateur final, ce qui permet à l’application d’accéder à une API au nom de l’utilisateur. Les flux d’accès délégué par l’utilisateur n’incluent pas le Client Credentials Flow. Pour en savoir plus sur les flux d’accès délégué par l’utilisateur, consultez les flux d’authentification et d’autorisation.
Politiques d’accès aux API des applications
Lors de la configuration de la politique d’accès des applications pour une API, Auth0 recommande d’utiliser
Per-app authorization, qui repose sur le principe du moindre privilège. Pour en savoir plus, consultez Application Access to APIs: autorisations client.
Lorsque vous définissez la politique d’accès des applications d’une API sur Per-app authorization, vous devez fournir explicitement les scopes requis dans la requête de jeton. Cela ne s’applique pas aux requêtes de jeton d’actualisation : si vous omettez les scopes, le serveur d’autorisation suppose que l’application souhaite tous les scopes qui lui ont été accordés dans le jeton d’accès initial. Par conséquent, le serveur d’autorisation renvoie un jeton d’accès avec les mêmes scopes que ceux accordés initialement par le Resource Owner.
Configurer la politique d’accès des applications à l’API
- Auth0 Dashboard
- Management API
Pour configurer la politique d’accès des applications à une API :
- Accédez à Dashboard > Applications > APIs et sélectionnez votre API.
- Sélectionnez l’onglet Settings et faites défiler la page jusqu’à Application Access Policy pour configurer les politiques User-Delegated Access et Client Access.
- Réglez la politique User-Delegated Access sur All apps allowed, Per-app authorization ou No apps allowed.
- All apps allowed : les applications sont autorisées à accéder à l’API au nom de l’utilisateur.
- Per-app authorization : les applications doivent avoir un client grant pour accéder à l’API au nom de l’utilisateur.
- No apps allowed : les applications se voient refuser l’accès à l’API au nom de l’utilisateur.
- Réglez la politique Client Access sur Per-app authorization ou No apps allowed.
- Per-app authorization : les applications machine-to-machine sont autorisées à accéder à cette API tant qu’elles ont le client grant correspondant.
- No apps allowed : restreint l’accès machine-to-machine à cette API.
- Réglez la politique User-Delegated Access sur All apps allowed, Per-app authorization ou No apps allowed.
- Sélectionnez Save pour enregistrer la Application Access Policy.
- Pour User-Delegated Access, sélectionnez Grant Access, puis les permissions souhaitées. Vous pouvez aussi sélectionner Always grant all permissions.
- Pour Client Access, sélectionnez Grant Access, puis les permissions souhaitées. Vous pouvez aussi sélectionner Always grant all permissions. Pour Organization Support, sélectionnez :
- None : l’accès machine-to-machine ne peut pas être limité à une organization.
- Optional : l’accès machine-to-machine peut être limité à une organization.
- Required : l’accès machine-to-machine doit être limité à une organization.
Politiques d’accès aux API et applications tierces
Vous pouvez aussi configurer les permissions par défaut pour toutes les applications tierces :
- Accédez à Applications > APIs et sélectionnez l’API.
- Sous l’onglet Settings, accédez à Default Permissions for Third Party Applications.
- Sélectionnez Authorized pour User-delegated Access ou Client Access, puis sélectionnez les scopes à accorder.
- Sélectionnez Save.
Dans certains tenants existants, le comportement des politiques d’accès des applications tierces peut être différent. Pour en savoir plus, consultez Mode permissif pour les applications tierces.