OIDC / OAuth 应用的权限管理
第三方应用(不属于你的服务)作为身份提供商 (IdP) 集成到 Logto,用于认证 (Authentication) 用户。这些应用通常来自外部服务提供商,需要谨慎管理权限,以保护用户数据。
Logto 让你能够控制授予第三方应用的具体权限。这包括管理用户资料、API 资源和组织 (Organization) 权限。与第一方应用不同,第三方应用请求未授权的权限 (Scopes) 时将被拒绝访问。
通过启用特定权限 (Scopes),你可以决定第三方应用可以访问哪些用户信息。用户将在用户授权页面 (Consent screen) 上查看并批准这些权限后才会授予访问权限。
管理你的 OIDC 第三方应用的权限
前往你的 OIDC 第三方应用的 控制台 > 应用程序 > 应用详情页,切换到 权限 标签页,并点击 添加权限 按钮来管理第三方应用的权限。
第三方应用请求时,基础用户数据始终是必需的。此外,Logto 支持分配组织 (Organization) 资源,非常适合 B2B 服务场景。
授予用户数据权限
分配用户级别的权限,包括用户资料权限(如邮箱、姓名和头像)和API 资源权限(如对特定资源的读或写访问)。
所请求资源的名称(如个人用户数据、API 名称)和具体权限描述(如你的邮箱地址)会在用户授权页面 (Consent screen) 上展示,供用户审核。
用户点击 授权 按钮,即表示同意将指定权限授予第三方应用。

授予组织 (Organization) 数据权限
分配组织 (Organization) 级别的权限,包括组织 (Organization) 权限和API 资源权限。Logto 支持将 API 资源分配给特定的组织角色 (Role)。
在用户授权页面 (Consent screen) 上,组织 (Organization) 数据会与用户数据分开展示。在授权流程中,用户必须选择一个具体的组织 (Organization) 进行授权。用户可以在确认前切换组织。第三方应用只会获得所选组织 (Organization) 的数据及相关权限的访问权。

权限类型
用户权限(用户资料权限 Scopes)
这些权限是 OIDC 标准和 Logto 的基础用户资料权限 (Scopes),用于访问用户声明 (Claims)。用户声明 (Claims) 会在 ID 令牌 (ID token) 和 userinfo 端点中返回。
profile
:OIDC 标准权限 (Scope),用于访问用户名和头像。email
:OIDC 标准权限 (Scope),用于访问用户邮箱。phone
:OIDC 标准权限 (Scope),用于访问用户手机号。custom_data
:Logto 用户资料权限 (Scope),用于访问用户自定义数据。identity
:Logto 用户资料权限 (Scope),用于访问用户关联的社交身份信息。role
:Logto 用户资料权限 (Scope),用于访问用户角色 (Role)信息。urn:logto:scope:organizations
:Logto 用户组织 (Organization) 权限 (Scope),用于访问用户组织 (Organization) 信息。如果启用并被第三方应用请求,用户授权页面 (Consent screen) 上会显示组织选择器,允许用户审核并选择要授权的组织。详见组织 (Organizations)。urn:logto:scope:organization_roles
:Logto 用户组织 (Organization) 权限 (Scope),用于访问用户组织角色 (Role) 信息。
在授权 (Authorization) 请求中请求未启用的用户资料权限 (Scope) 会导致错误。
API 资源权限(API 资源权限 Scopes)
Logto 为 API 资源提供基于角色的访问控制 (RBAC)。API 资源是你的服务所拥有并由 Logto 保护的资源。你可以为第三方应用分配自定义 API 权限 (Scopes) 以访问你的 API 资源。详见基于角色的访问控制 (RBAC)、组织模板和保护你的 API。
你可以在 控制台 > API 资源 下创建和管理你的 API 资源权限 (Scopes)。
未为第三方应用启用的 API 资源权限 (Scopes) 在发送授权 (Authorization) 请求时会被忽略。它不会在用户授权页面 (Consent screen) 上展示,也不会被 Logto 授予。
组织 (Organization) 权限(组织权限 Scopes)
组织 (Organization) 权限 是专为 Logto 组织 (Organization) 定义的权限 (Scopes),用于访问组织信息和资源。
要使用 Logto 组织 (Organization) 权限 (Scopes),你需要启用 urn:logto:scope:organizations
用户权限 (Scope)。否则,在发送授权 (Authorization) 请求时,组织 (Organization) 权限 (Scopes) 会被忽略。
你可以在组织模板设置页面自定义你的组织 (Organization) 权限 (Scopes)。详见配置组织模板。
未为第三方应用启用的组织 (Organization) 权限 (Scopes) 在发送授权 (Authorization) 请求时会被忽略。它不会在用户授权页面 (Consent screen) 上展示,也不会被 Logto 授予。