跳到主要内容

创建组织 (Organization)

假设你正在构建一个多租户应用(例如,多租户 SaaS 应用),为许多客户服务,每个客户拥有一个专属租户。

通常在以下情况下会创建组织 (Organization):

  1. 新客户注册并为其企业创建账户和租户。
  2. 现有用户可以在应用内创建新组织 (Organization)。
新账户创建组织 (Organization) 现有用户创建组织 (Organization)

实现组织 (Organization) 创建​

为你的应用创建组织 (Organization) 有两种方式。

通过 Logto Console 创建​

在 Logto Console UI 中手动创建组织 (Organization)。前往 控制台 > 组织 (Organizations) 创建组织 (Organization)、分配成员和角色,并自定义组织登录体验。

创建一个组织模板,批量创建具有相同角色和权限的类似组织 (Organization)。

通过 Logto Management API 创建​

控制台适合手动设置,但大多数应用允许终端用户自助——直接在你的应用中创建和管理组织 (Organization)。要实现这一点,请使用 Logto Management API 实现相关功能。

备注:

如果你是第一次接触 Logto Management API,请先阅读:

Management API与 Management API 交互

假设你的后端通过机器对机器 (M2M) 机制连接到 Logto Management API,并已获取 M2M 访问令牌 (Access token)。

使用 Management API 创建组织 (Organization)(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}'

然后将用户添加为组织 (Organization) 成员(API 参考):

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users \
-H "Authorization: Bearer $M2M_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["string"]}'

你还可以为用户分配特定的组织 (Organization) 角色(API 参考)。

查看完整 API 规范获取更多细节。

将这些调用封装在你自己的 API 层。当用户在你的应用中执行“创建组织 (Organization)”操作时,先校验其权限,然后调用 Logto Management API 完成操作。

校验用户请求中的组织令牌 (Organization token)​

在你的应用中,当用户在组织 (Organization) 上下文中执行操作时,必须使用组织令牌 (Organization token),而不是普通访问令牌 (Access token)。组织令牌 (Organization token) 是一个 JWT,其中包含组织权限。与任何访问令牌 (Access token)一样,你可以解码声明 (Claims) 并校验 "scope" 声明 (Claim) 以执行权限控制。

更多授权 (Authorization) 场景及如何校验组织令牌 (Organization token),请参见 授权 (Authorization)。