跳到主要内容

创建组织 (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)