- Les jetons d’ID sont souvent utilisés pour transmettre des informations sur l’autorisation de l’utilisateur aux applications par le biais de demandes personnalisées, qui peuvent être ajoutées grâce à l’extensibilité des Règles. Les demandes ajoutées vous permettent de présenter une interface utilisateur dans laquelle les utilisateurs n’ont pas la possibilité de tenter une action non autorisée. Les informations d’autorisation contenues dans un jeton d’ID fournissent également à toute application dorsale un moyen d’empêcher les utilisateurs de contourner les contrôles du côté client pour les applications web traditionnelles.
Meilleure pratiqueVous pouvez tirer parti du contrôle d’accès basé sur les rôles (RBAC) Auth0 via la fonctionnalité Auth0 Authorization Core pour définir les autorisations d’accès, qui peuvent être automatiquement appliquées aux jetons d’accès. Pour en savoir plus, consultez Activer le contrôle d’accès basé sur les rôles pour les API.La fonctionnalité RBAC d’Auth0 peut également fournir des informations que vous pouvez ajouter en tant que demandes personnalisées aux jetons d’ID (et aux jetons d’accès, si vous préférez une application manuelle). Les organisations Auth0 peuvent exploiter la fonctionnalité RBAC d’Auth0 via un ou plusieurs rôles attribués aux membres. Pour en savoir plus, consultez Ajout de rôles aux membres d’une organisation.
- Les API qui fournissent un accès public à des services de ressources partagées sont généralement protégées par des mécanismes de contrôle d’accès. À cette fin, Auth0 permet de créer un jeton porteur d’autorisation, ou jeton d’accès 2, qui peut transmettre des informations sur l’autorisation de l’utilisateur à une API, généralement en utilisant le contrôle d’accès basé sur les rôles (RBAC) pour appliquer un ou plusieurs rôles attribués en fonction de l’appartenance ou en ajoutant des demandes personnalisées via l’extensibilité des Règles. Vous pouvez également exploiter la capacité RBAC d’Auth0 pour ajuster automatiquement la demande de
permissiond’un jeton d’accès. Les API peuvent alors utiliser ces informations pour appliquer le niveau approprié de contrôle d’accès, ce qui permet à votre API d’appliquer les règles de stratégie sans avoir à effectuer une recherche supplémentaire pour obtenir des informations sur l’utilisateur. - Dans certains cas, vous pouvez implémenter des stratégies au niveau de l’application dans le locataire Auth0, ce qui vous permet d’appliquer des stratégies à toute une série d’applications et de services de ressources (API) sans avoir à modifier chacun d’entre eux de manière indépendante. Vous mettez généralement cela en œuvre par le biais de l’extensibilité des Règles.
Meilleure pratiqueAuth0 Organizations fournit des règles d’Auth0 avec accès à des informations centrées sur l’organisation qui peuvent être consultées lors de l’authentification d’un utilisateur. Ces informations sont disponibles via l’objet
organization contenu dans l’objet contextuel Rules (règles). L’objet organization permet également d’accéder à toutes les métadonnées fournies pour une définition Organization dans Auth0. Pour en savoir plus, consultez Développement personnalisé pour les organisations.Demandes relatives aux jetons d’ID
org_id est automatiquement ajoutée à tout jeton d’ID (pour un exemple, consulter Travailler avec des jetons et Organizations) émis pour les utilisateurs membres d’une organisation. Ce paramètre est validé par les trousses SDK Auth0. Vous pouvez également ajouter des informations supplémentaires associées à une organisation Auth0 en ajoutant une demande personnalisée au jeton d’ID :
org_name est automatiquement incluse dans les jetons d’ID. Pour en savoir plus, consultez Utiliser des noms d’organisation dans la Authentication API.
Affirmation SAML
user d’une Règle, qui correspondra aux demandes standard d’un jeton d’ID ou pourra être mis en correspondance à l’aide de demandes personnalisées. Pour en savoir plus sur la personnalisation des mappages SAML, consulter Connecter votre application aux fournisseurs d’identité SAML : Configurer les mappages.
Demandes relatives au jeton d’accès
org_id est automatiquement ajoutée à tout jeton d’accès (pour un exemple, voir Travailler avec des jetons et Organizations) émis pour les utilisateurs membres d’une organisation. Vous pouvez également ajouter des informations supplémentaires associées à une organisation Auth0 en ajoutant une demande personnalisée au jeton d’accès :
org_name est automatiquement incluse dans les jetons d’accès. Pour en savoir plus, consultez Utiliser des noms d’organisation dans la Authentication API.
Vous pouvez également créer une API unique pour chaque organisation, ce qui donnera lieu à une définition API unique dans Auth0. Bien que ce mécanisme puisse atténuer la nécessité d’utiliser l’extensibilité des Règles personnalisées, sa complexité peut représenter un défi. Voici une comparaison simple :
| Approche | Avantages | Inconvénients |
|---|---|---|
| Public API unique |
|
|
| Demande Personnalisée | Simplifie la configuration du locataire Auth0. Code personnalisé nécessaire dans une règle pour ajouter l’organisation au jeton d’accès. |
Rôles
Vous pouvez activer Auth0 Authorization Core RBAC pour une API, ce qui entraînera l’activation de la demande de
permission par défaut dans des jetons d’accès en cours de modification automatique et l’ajout d’une demande d’autorisation par défaut (pour obtenir un exemple, consultez Travailler avec des jetons et Organizations). Vous pouvez également ajouter des informations sur les rôles aux jetons d’ID en tant que demandes personnalisées en accédant à l’objet d’autorisation disponible dans l’objet context des règles. Pour en savoir plus, consultez Règles avec autorisation - Exemples de cas d’utilisation : Ajouter des rôles d’utilisateur aux jetons.Contrôle d’accès
- bloquer l’accès aux utilisateurs à partir d’une adresse IP particulière;
- implémenter des exigences spécifiques en matière d’authentification multifacteur contextuelle ou adaptative;
- limiter la connexion aux seuls utilisateurs ayant vérifié leur adresse courriel
- restreindre l’accès à une certaine audience de l’API, de sorte qu’un utilisateur ne puisse pas obtenir un jeton d’accès pour une autre audience de l’API ou qu’il ne puisse pas obtenir un jeton d’accès pour cette audience dans certaines circonstances. Dans ce cas, si vous créez une audience API personnalisée pour chaque organisation, votre Règle doit également garantir que l’utilisateur qui s’authentifie appartient à l’organisation qui correspond à l’audience API correspondante.