Auth0 offre deux façons d’implémenter le contrôle d’accès basé sur les rôles (RBAC), que vous pouvez utiliser à la place du système interne de contrôle d’accès de votre API ou en complément de celui-ci :L’ensemble de fonctionnalités Authorization Core offre les mêmes fonctionnalités que l’Authorization Extension, améliore les performances et l’évolutivité, et propose un système RBAC plus souple que l’Authorization Extension.À l’heure actuelle, les deux implémentent les fonctionnalités clés du RBAC et vous permettent de limiter les scopes personnalisés définis pour une API à ceux qui ont été attribués à l’utilisateur en tant que permissions.
- Ajouter des claims personnalisées au jeton émis.
- Déterminer l’appartenance de l’utilisateur à des groupes, ainsi que ses rôles et ses permissions.
- Stocker les informations sur les groupes, les rôles et les permissions de l’utilisateur dans
app_metadata. - Ajouter les groupes, les rôles et les permissions de l’utilisateur au jeton envoyé (qui peut être demandé au moyen du scope
openid groups permissions roles).
Ajouter des claims personnalisées au jeton émis
/authorize ou configurez Lock, vous devrez préciser les informations à inclure dans le scope en indiquant groups, permissions et/ou roles.
Contrôler l’accès à l’application
Définir les rôles requis dans les métadonnées de l’application
- Pour définir le champ
context.clientMetadataavecrequired_roles, sélectionnez l’application sur laquelle vous voulez travailler dans Auth0 Dashboard > Applications > Applications. Vous accéderez ainsi aux Settings de l’application. Faites défiler la page vers le bas, puis sélectionnez Show Advanced Settings au bas de la page. - Sous Application Metadata, ajoutez un élément en définissant la Clé sur
required_roleset, dans le champ Valeur, entrez vos rôles sous forme de liste séparée par des virgules. Sélectionnez + Add pour ajouter le champ. - Une fois terminé, sélectionnez Save Changes. Désormais, lorsque vous vous connectez à partir de cette application,
context.clientMetadatacontiendrarequired_rolesavec la chaîne de rôles que vous avez entrée.
Créer une règle qui applique les rôles de l’application
- Avant de créer cette règle, activez Roles sous Token Contents et publiez la règle Authorization Extension.
- Ajoutez cette règle et assurez-vous qu’elle figure après la règle générée « auth0-authorization-extension ».
-
Après avoir défini
required_roles, créez une nouvelle règle avec le corps suivant :