Auth0 offre deux façons de mettre en œuvre 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 combinaison avec celui-ci :Les fonctionnalités d’Authorization Core correspondent à celles de l’Authorization Extension, tout en améliorant les performances et l’évolutivité, et en offrant un système RBAC plus flexible que l’Authorization Extension.À l’heure actuelle, les deux offrent les fonctionnalités clés du RBAC et vous permettent de restreindre les scopes personnalisés définis pour une API à ceux qui ont été attribués à l’utilisateur comme autorisations.
- Ajouter des claims personnalisés au jeton émis.
- Déterminer l’appartenance de l’utilisateur à des groupes, ainsi que ses rôles et ses autorisations.
- Stocker les renseignements sur les groupes, rôles et autorisations de l’utilisateur dans
app_metadata. - Ajouter les groupes, rôles et autorisations de l’utilisateur au jeton renvoyé (qui peut être demandé au moyen du scope
openid groups permissions roles).
Ajouter des claims personnalisés au jeton émis
/authorize ou configurez Lock, vous devez préciser les informations voulues 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 jusqu’en bas, puis sélectionnez Show Advanced Settings. - Sous Application Metadata, ajoutez un élément en définissant Key sur
required_roleset, dans le champ Value, indiquez vos rôles en les séparant par des virgules. Sélectionnez + Add pour ajouter le champ. - Une fois terminé, sélectionnez Save Changes. Désormais, lorsque vous vous connecterez à partir de cette application,
context.clientMetadatacontiendrarequired_rolesavec la chaîne de rôles que vous avez saisie.
Créer une Rule qui impose les rôles de l’application
- Avant de créer cette Rule, activez Roles dans Token Contents et publiez la Rule Authorization Extension.
- Ajoutez cette Rule et assurez-vous qu’elle figure après la Rule générée « auth0-authorization-extension ».
-
Après avoir défini
required_roles, créez une nouvelle Rule avec le corps suivant :