创建组织 (Organization)
想象一下,你正在构建一个 多租户应用(例如,多租户 SaaS 应用),它为众多客户提供服务,每个客户拥有一个专用的租户。当一个新客户到来时,他们会创建一个新账户,以及一个用于其自身业务的新租户。
就像你注册了 Logto Cloud 账户并拥有自己的 Logto 租户一样。你也可以在你的应用中实现相同的架构,使用 Logto 的“组织 (Organization)”功能。
创建你的组织 (Organizations)
有两种方法可以为你的应用创建组织 (Organizations)。
通过 Logto 控制台创建
通过 Logto 控制台 UI 手动创建你的组织 (Organizations)。前往 控制台 > 组织 (Organizations) 创建组织 (Organization),分配成员和角色 (Roles),并自定义组织 (Organization) 登录体验 UI。
如果你想批量创建共享相同角色 (Role)和权限 (Permission)设置的类似组织 (Organizations),可以创建一个“组织模板”。
通过 Logto Management API 创建
在控制台 UI 上点击按钮效果很好,但我们真正想要的是让终端用户自助创建组织 (Organizations),并在你的应用中自行管理组织 (Organizations)。因此,你需要在你的应用中实现这些功能,借助 Logto Management API。
假设你已经通过机器对机器 (M2M) 机制将你的 API 后端服务器连接到 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}'
响应示例 (201)
{
"tenantId": "string",
"id": "string",
"name": "string",
"description": "string",
"customData": {},
"isMfaRequired": false,
"branding": {
"logoUrl": "string",
"darkLogoUrl": "string",
"favicon": "string",
"darkFavicon": "string"
},
"createdAt": 1234567890
}
接下来,你可以为你的应用实现自己的 API。因此,当你的用户在应用中执行“创建组织 (Organization)”操作时,你可以通过检查他们的权限来验证请求,然后调用 Logto Management API 来完成其余的工作。
验证用户请求中的组织令牌 (Organization token)
在你的应用中,当用户在组织 (Organization) 的上下文中执行操作时,他们需要使用组织令牌 (Organization token) 而不是常规的访问令牌 (Access token)。组织令牌 (Organization token) 是一种特殊的 JWT,包含组织 (Organization) 权限。就像任何 JWT 访问令牌 (Access tokens)一样,你可以解码令牌声明并验证“权限 (Scope)”声明以进行权限检查。
查看这些文档以获取更多详细信息:
验证组织令牌 (Organization tokens)
保护你的 API