跳到主要内容

授权 (Authorization)

授权 (Authorization) 定义了用户在被认证 (Authentication) 后可以执行的操作或可以访问的资源,决定了他们在你的应用中可以做什么。

Logto 授权 (Authorization) 服务使用 基于令牌 的机制。虽然 Logto 提供 访问令牌 (Access token),但你的资源服务器负责验证和执行它们作为访问控制的一部分。

有两种类型的 访问令牌 (Access tokens)

  1. 访问令牌 (Access tokens):用于访问用户/系统 API 资源。
  2. 组织令牌 (Organization tokens):用于组织资源的特殊访问令牌,在启用组织功能的多租户架构中使用。

Logto 为各种场景提供授权 (Authorization) 服务。以下是几个典型的用例,你可以选择合适的并将你的需求与 Logto 的功能和服务相匹配。

场景如何授权 (Authorization) 流程
简单保护你的 API 资源,不使用 RBAC。在 Logto 控制台中注册你的 API,Logto 将简单地授予访问令牌 (Access tokens)Logto 授予 访问令牌 (Access token)(不含权限),你需要验证这些令牌以保护你的 API 资源。
使用 RBAC 保护你的 API 资源注册你的 API 并应用 RBAC 以实现灵活、细粒度的访问控制。Logto 授予包含 权限 (Permission)访问令牌 (Access token) 以保护你的 API 资源。
使用组织级 RBAC(组织模板)保护你的组织资源。将每个组织视为资源,使用组织级 RBAC(组织模板)在 多租户 架构中进行访问控制。Logto 授予包含 组织权限 (Organization permission)组织令牌 (Organization token) 以保护组织级资源。

你还可以使用 自定义令牌声明 等工具在访问令牌 (Access tokens) 中包含额外的声明,以满足你的自定义技术需求。还有更高级的用例:使用组织级 RBAC(组织模板)保护你的 API 资源

熟悉基于角色的访问控制

基于角色的访问控制在整个 Logto 基础设施中使用,包括系统级(基于角色的访问控制)和组织级(组织 RBAC):

  1. 主体 (Subjects):可以是真实用户(或在组织上下文中的成员)或非人类实体,如机器对机器应用程序。
  2. API 资源:需要保护的系统内资源。
  3. 角色 (Roles):代表工作职能或职责。
  4. 权限 (Permissions):定义在特定资源上被授权的操作。

管理这些实体及其关系可以灵活地满足你的访问控制需求。在 Logto 中,你可以在两个层次上使用 RBAC,用户/系统级(不涉及中间组织层),以及组织。在组织上下文中,它有一个独立的 RBAC 设计,我们称之为“组织模板”。

授权 (Authorization) 功能