Meilleures pratiques pour les applications multilocataires

La multilocation est une approche architecturale caractérisée par une instance unique de logiciel qui s’exécute sur un serveur et qui est accessible par plusieurs groupes d’utilisateurs. Avec la multilocation, vous pouvez segmenter les utilisateurs ayant des caractéristiques communes en groupes et leur accorder des autorisations et des niveaux d’accès distincts à votre application. Cela vous permet de créer et de maintenir des expériences sur mesure pour différents clients, unités commerciales ou autres groupes d’utilisateurs définis.

Dans Auth0, la meilleure méthode pour mettre en œuvre la multilocation est Auth0 Organizations. Si nécessaire, d’autres solutions héritées peuvent être utilisées pour répondre à des cas d’utilisation distincts. Si vous proposez un produit ou un service commerce interentreprises (B2B), la mise en place d’une multilocation pour vos utilisateurs professionnels peut s’avérer avantageuse pour votre cas d’utilisation.

Les sections ci-dessous décrivent les options proposées pour mettre en œuvre la multilocation dans Auth0.

Auth0 Organizations

Dans la majorité des cas d’utilisation multilocataires, Auth0 Organizations est la solution idéale pour vous et vos utilisateurs. Auth0 Organizations prend en charge les mises en œuvre commerce interentreprises (B2B) qui ont une ou plusieurs applications auxquelles les utilisateurs finaux peuvent accéder.

Les fonctionnalités courantes des implémentations B2B sont les suivantes :

  • Un produit dont la licence est concédée à une autre entreprise pour qu’elle l’utilise par ses employés.

  • Plusieurs organizations qui ont besoin de leur propre fédération et d’une stratégie d’image de marque légère de l’expérience d’authentification.

  • Différents niveaux d’accès aux applications pour différents groupes d’utilisateurs.

Avec Auth0 Organizations, vous pouvez créer des groupes uniques d’utilisateurs et personnaliser leurs expériences avec un contrôle d’accès basé sur les rôles (RBAC), des pages de connexion et des modèles de courriel personnalisés, et plus encore.

Pour en savoir plus sur l’utilisation d’Auth0 Organizations pour mettre en œuvre la multilocation, consultez l’article Architecture d’organizations multiples.

Solutions héritées

Si Auth0 Organizations ne répond pas aux exigences de votre cas d’utilisation, veuillez contacter notre équipe de services professionnels pour trouver une solution qui assure votre succès.

Voici quelques-unes des solutions héritées :

  • Utilisation d’une connexion Auth0 pour représenter chaque locataire.

  • Utilisation d’une application Auth0 pour représenter chaque locataire.

  • Utilisation d’un locataire Auth0 pour représenter chaque locataire.

  • Stockage des détails du locataire dans le profil utilisateur.

Utilisation des connexions Auth0

Vous pouvez représenter chacun de vos locataires par une connexion Auth0 distincte.

Cette approche vous permet de prendre en charge des scénarios dans lesquels :

  • Vous avez des exigences différentes au niveau de la connexion, telles que des politiques de mot de passe différentes, pour chacun de vos locataires.

  • Vous avez des groupes d’utilisateurs provenant de connexions différentes. Par exemple, un locataire pourrait demander aux utilisateurs de fournir des identifiants nom d’utilisateur/mot de passe, tandis qu’un autre locataire pourrait demander aux utilisateurs de se connecter par l’intermédiaire d’un IdP d’entreprise.

Pour demander à un utilisateur de se connecter au moyen d’une connexion particulière, appelez le point de terminaison Auth0 Authentication API Login et incluez le paramètre de connection.

Utilisation des applications Auth0

Vous pouvez représenter chacun de vos locataires par une application Auth0 distincte.

Cette approche vous permet de configurer chaque application Auth0 de manière unique en fonction des exigences variables des locataires, telles que les connexions possibles.

Vous devrez suivre les locataires auxquels vos utilisateurs appartiennent dans votre application. Lorsqu’un utilisateur se connecte à votre application, vous devez consulter ces informations et diriger l’utilisateur vers l’application Auth0 appropriée pour compléter l’authentification.

Pour activer une connexion pour plusieurs applications avec l’Auth0 Management API, appelez le point de terminaison Mise à jour d’une connexion, et transmettez les identifiants de clients concernés au paramètre enabled_clients.

Utilisation des locataires Auth0

Vous pouvez représenter chacun de vos locataires par un locataire Auth0 distinct.

Cette approche vous permet de partager l’accès à Auth0 Dashboard avec des utilisateurs, restreints par locataire, mais vous oblige à configurer Auth0 individuellement pour chaque locataire.

Cela signifie qu’en plus de la gestion des fonctionnalités de chaque locataire Auth0 individuellement (telles que l’image de marque, les actions et la protection contre les attaques), votre application devra prendre en charge plusieurs configurations Auth0.

Stocker les détails du locataire dans le profil utilisateur

Vous pouvez stocker les informations relatives au locataire dans le profil utilisateur et faire en sorte que votre application lise ces informations une fois que l’utilisateur s’est connecté.

Cette approche permet à tous vos utilisateurs, quel que soit le locataire auquel ils appartiennent, de se connecter en utilisant une configuration uniforme (c’est-à-dire, les connexions possibles).

Pour mettre cela en œuvre, vous pourriez stocker les détails du locataire dans le profil Auth0 de l’utilisateur dans l’objet app_metadata, en utilisant un identifiant de votre choix (p. ex., "tenant" : "customer-group-12345"). Une fois que l’utilisateur s’est connecté, votre application récupère la variable tenant, puis affiche une version correspondant à la valeur renvoyée.