Aller au contenu principal

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 entreprise.

Tout comme vous avez enregistré votre compte Logto Cloud et disposez de votre propre locataire Logto. Vous pouvez implémenter exactement 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. Rendez-vous sur Console > Organisations pour créer une organisation, attribuer des membres et des rôles, et personnaliser l’interface de l’expérience de connexion de l’organisation.

Créez un "modèle d'organisation" si vous souhaitez créer en lot des organisations similaires partageant les mêmes paramètres de rôles et de permissions.

Créer via Logto Management API

Cliquer sur des boutons dans l’interface Console fonctionne très bien, mais nous voulons vraiment que les utilisateurs finaux puissent s’auto-gérer et créer des organisations, gérer eux-mêmes les organisations dans VOTRE application. Ainsi, vous devrez implémenter ces fonctionnalités dans votre application, avec l’aide de Logto Management API.

remarque:

Si vous n’êtes pas familier avec Logto Management API, veuillez d’abord lire ces documents.

Management APIInteract with Management API

En supposant que vous avez déjà connecté votre serveur backend API à l’endpoint Logto Management API via le mécanisme Machine à machine (M2M), et obtenu 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 effectuer 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 classique. Le jeton d’organisation est un type spécial de JWT qui contient les permissions de l’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 le contrôle des permissions.

Voir Autorisation (Authorization) pour plus de détails sur les scénarios d’autorisation et comment valider les jetons d’organisation.