跳到主要内容

创建组织

想象一下,你正在构建一个多租户应用程序(例如,多租户 SaaS 应用程序),它为众多客户提供服务,每个客户拥有一个专用的租户。当一个新客户到来时,他们会创建一个新账户,以及一个用于自己业务的新租户。

就像你注册了你的 Logto Cloud 账户并拥有自己的 Logto 租户一样。你也可以在你的应用程序中实现相同的架构,使用 Logto 的“组织”功能。

创建你的组织

有两种方法可以为你的应用程序创建组织。

通过 Logto 控制台创建

通过 Logto 控制台 UI 手动创建你的组织。前往 控制台 > 组织 创建组织,分配成员和角色,并自定义组织登录体验 UI。

如果你想批量创建具有相同角色和权限设置的类似组织,可以创建一个“组织模板”。

通过 Logto Management API 创建

点击控制台 UI 上的按钮效果很好,但我们真正希望最终用户能够自助创建组织,并在 你的应用程序 中自行管理组织。因此,你需要在你的应用程序中实现这些功能,借助 Logto Management API。

备注

如果你不熟悉 Logto Management API,请确保先阅读这些文档。

Management API与 Management API 交互

假设你已经通过机器对机器 (M2M) 机制将你的 API 后端服务器连接到 Logto Management API 端点,并获取了 M2M 访问令牌。

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

响应示例 (201)

{
"tenantId": "string",
"id": "string",
"name": "string",
"description": "string",
"customData": {},
"isMfaRequired": false,
"branding": {
"logoUrl": "string",
"darkLogoUrl": "string",
"favicon": "string",
"darkFavicon": "string"
},
"createdAt": 1234567890
}

接下来,你可以为你的应用程序实现自己的 API。因此,当你的用户在你的应用程序中执行“创建组织”操作时,你可以通过检查他们的权限来验证请求,然后调用 Logto Management API 来完成其余的工作。

验证用户请求中的组织令牌

在你的应用程序中,当用户在组织的上下文中执行操作时,他们需要使用组织令牌而不是常规访问令牌。组织令牌是一种特殊的 JWT 令牌,包含组织权限。就像任何 JWT 访问令牌一样,你可以解码令牌声明并验证“权限”声明以进行权限检查。

查看这些文档以获取更多详细信息:

验证组织令牌 保护你的 API