Créer une organisation
Imaginez que vous construisez une application multi-locataire (par exemple, une application SaaS multi-locataire) qui sert de nombreux clients, et chaque client possède un locataire dédié. Lorsqu'un nouveau client arrive, il crée un nouveau compte, ainsi qu'un nouveau locataire pour son propre entreprise.
Tout comme vous avez enregistré votre compte Logto Cloud et avez votre propre locataire Logto. Vous pouvez implémenter la même architecture dans votre application en utilisant la fonctionnalité "organisation" de Logto.
Créez vos organisations
Il existe deux façons de créer des organisations pour votre application.
Créer via Logto Console
Créez manuellement vos organisations via l'interface utilisateur de Logto Console. Allez sur Console > Organisations pour créer une organisation, attribuer des membres et des rôles, et personnaliser l'interface utilisateur de l'expérience de connexion de l'organisation.
Créez un "modèle d'organisation" si vous souhaitez créer en masse des organisations similaires partageant les mêmes paramètres de rôle et de permission.
Créer via Logto Management API
Cliquer sur des boutons dans l'interface utilisateur de la Console fonctionne bien, mais nous voulons vraiment que les utilisateurs finaux puissent se servir eux-mêmes et créer des organisations, gérer les organisations eux-mêmes dans VOTRE application. Ainsi, vous devrez implémenter ces fonctionnalités dans votre application, avec l'aide de Logto Management API.
Si vous n'êtes pas familier avec Logto Management API, assurez-vous de lire ces documents d'abord.
Management APIInteragir avec Management APIEn supposant que vous avez déjà connecté votre serveur backend API au point de terminaison Logto Management API via le mécanisme Machine-to-Machine (M2M), et acquis le jeton d’accès M2M.
Créez une organisation avec Management API (références API) :
curl \
-X POST https://[tenant_id].logto.app/api/organizations \
-H "Authorization: Bearer $M2M_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tenantId":"string","name":"string","description":"string","customData":{},"isMfaRequired":false,"branding":{"logoUrl":"string","darkLogoUrl":"string","favicon":"string","darkFavicon":"string"},"createdAt":1234567890}'
Exemple de réponse (201)
{
"tenantId": "string",
"id": "string",
"name": "string",
"description": "string",
"customData": {},
"isMfaRequired": false,
"branding": {
"logoUrl": "string",
"darkLogoUrl": "string",
"favicon": "string",
"darkFavicon": "string"
},
"createdAt": 1234567890
}
Ensuite, vous pouvez implémenter votre propre API pour votre application. Ainsi, lorsque vos utilisateurs effectuent l'action "créer une organisation" dans votre application, vous pouvez valider la requête en vérifiant leurs permissions, puis appeler Logto Management API pour faire le reste du travail.
Validation du jeton d’organisation dans la requête utilisateur
Dans votre application, lorsque les utilisateurs effectuent des actions dans le contexte d'une organisation, ils doivent utiliser le jeton d’organisation au lieu du jeton d’accès régulier. Le jeton d’organisation est un type spécial de JWT qui contient des permissions d’organisation. Et tout comme n'importe quel jeton d’accès JWT, vous pouvez décoder les revendications du jeton et vérifier la revendication "scope" pour la vérification des permissions.
Consultez ces documentations pour plus de détails :
Vérifier les jetons d’organisation
Protéger votre APIRessources connexes
Implémentation de la multi-location avec Postgres