- Une API identifiée par son
audienceou son identifiant unique. - Une application identifiée par son
client_id. - Une liste de permissions, comme des scopes et/ou des
authorization_details_types, que l’application est autorisée à demander pour l’audience indiquée.
Politiques d’accès des applications à l’API et autorisations client
require_client_grant, seules les applications pour lesquelles une autorisation client est définie peuvent obtenir un jeton d’accès à l’API. L’autorisation client détermine les permissions maximales qu’une application peut demander à l’API, conformément au principe du moindre privilège. Par conséquent, Auth0 recommande d’utiliser require_client_grant lorsque vous configurez la politique d’accès des applications d’une API.
Pour illustrer comment les autorisations client appliquent le principe du moindre privilège, supposons que vous disposiez d’une API de médias sociaux avec les autorisations suivantes : read:posts, write:posts, read:friends et delete:posts. Vous créez une application et définissez une autorisation client avec les autorisations read:posts et write:posts.
Cette autorisation client sert maintenant de limite maximale stricte. Même si l’API de médias sociaux comporte d’autres autorisations, votre application ne pourra jamais demander ni obtenir read:friends ou delete:posts.
Accès délégué par l’utilisateur vs accès client
subject_type de l’autorisation client détermine le type d’accès applicatif autorisé pour une API.
Une application peut avoir jusqu’à deux autorisations client pour une même API :
- Lorsque vous définissez
subject_typesurclient, vous définissez ses autorisations machine-à-machine. - Lorsque vous définissez
subject_typesuruser, vous définissez ses autorisations pour agir au nom de l’utilisateur.
Vous pouvez modifier les scopes finaux accordés par le serveur d’autorisation à l’application ou à l’utilisateur à l’aide de Actions.
Attributs du autorisation client
Créer une autorisation client
- Permissions par application : appliquez des permissions granulaires à chaque application de votre tenant.
- Autorisation par défaut pour les applications tierces : appliquez des permissions par défaut à toutes les applications tierces de votre tenant.
Permissions par application
- Auth0 Dashboard
- Management API
Pour configurer les permissions par application dans l’Auth0 Dashboard :
Pour les permissions par application, vous devez autoriser individuellement l’accès à l’API pour chaque application.
- Accédez à Dashboard > Applications > APIs et sélectionnez l’API pour laquelle vous souhaitez configurer l’accès des applications.
- Allez à l’onglet Settings et faites défiler jusqu’à Application Access Policy.
- Réglez User-Delegated Access sur No apps allowed, Per-app authorization ou All apps allowed.
- No apps allowed : aucune application ne peut obtenir de jeton d’accès pour l’API.
- Per-app authorization : seules les applications pour lesquelles une autorisation client est définie peuvent obtenir un jeton d’accès pour l’API.
- All apps allowed : toute application de votre tenant peut obtenir un jeton d’accès pour l’API.
- Réglez Client Access sur Per-app authorization ou All apps allowed.
- Per-app authorization : seules les applications pour lesquelles une autorisation client est définie peuvent obtenir un jeton d’accès pour l’API.
- All apps allowed : toute application de votre tenant peut obtenir un jeton d’accès pour l’API.
- Réglez User-Delegated Access sur No apps allowed, Per-app authorization ou All apps allowed.
- Sélectionnez Save pour enregistrer les paramètres de Application Access Policy.

- Accédez à Applications > APIs et sélectionnez l’API.
- Allez à l’onglet Application Access.
- Faites défiler jusqu’à l’application, sélectionnez Edit, puis Grant Access pour User-Delegated Access et/ou Client Access. Sélectionnez ensuite les permissions souhaitées.
- Sélectionnez Save.

autorisation par défaut pour les applications tierces
autorisation client explicite pour accéder à une API, même lorsque la politique d’accès de l’API est définie sur Allow All. Pour simplifier la gestion lorsque vous avez un grand nombre d’applications tierces ou que vous utilisez Dynamic Client Registration, configurez des autorisations ou des permissions par défaut qui s’appliquent automatiquement à toutes les applications tierces.
Une autorisation client tiers par défaut utilise l’attribut default_for au lieu d’un client_id. Vous pouvez aussi définir des permissions par application en créant une autorisation client avec un client_id précis. Lorsque les deux existent pour la même API, les permissions par application ont préséance.
Les API système (la Management API, My Account API et d’autres) ne prennent pas en charge les
autorisations client tiers par défaut. Les applications tierces ne peuvent pas obtenir d’accès aux API système.default_for et client_id s’excluent mutuellement. Chaque autorisation client doit en préciser exactement un.
Pour savoir comment configurer les politiques d’accès aux API pour les applications tierces, consultez Configure Third-Party Applications.
- Auth0 Dashboard
- Management API
Pour configurer les permissions par défaut pour les applications tierces à l’aide de l’Auth0 Dashboard :
- Accédez à Dashboard > Applications > APIs et sélectionnez l’API pour laquelle vous souhaitez configurer l’accès de l’application.
- Allez à l’onglet Settings et faites défiler la page jusqu’à Default Permissions for Third-Party Applications.
- Configurez User-Delegated Access et/ou Client Access à Unauthorized, Authorized ou All.
- Unauthorized : aucune permission n’est autorisée.
- Authorized : sélectionnez les permissions voulues.
- All : inclut les permissions existantes et futures.
- Configurez User-Delegated Access et/ou Client Access à Unauthorized, Authorized ou All.
- Sélectionnez Save.

Mettre à jour une autorisation client
PATCH vers /client-grants/{id} :
Supprimer une autorisation client
DELETE à /client-grants/{id} :
Récupérer les autorisations client
client-grants et les parcourir page par page à l’aide de paramètres comme client_id, audience ou subject_type :