跳到主要内容

授权 (Authorization)

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

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

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

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

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

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

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

熟悉基于角色的访问控制 (Role-based access control)

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

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

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

授权功能 (Features for authorization)