权限管理
第三方应用程序(不属于你的服务)作为身份提供商 (IdP) 与 Logto 集成以认证 (Authentication) 用户。这些通常来自外部服务提供商的应用程序需要仔细的权限管理以保护用户数据。
Logto 使你能够控制授予第三方应用程序的特定权限。这包括管理 用户资料、API 资源 和 组织 (Organization) 权限。与第一方应用程序不同,请求未经授权权限的第三方应用程序将被拒绝访问。
通过启用特定权限,你可以确定第三方应用程序可以访问哪些用户信息。用户将在用户授权页面上查看并批准这些权限,然后才授予访问权限。
管理你的 OIDC 第三方应用程序的权限
前往你的 OIDC 第三方应用程序的 控制台 > 应用程序 > 应用程序详情页面,导航到 权限 选项卡,然后点击 添加权限 按钮以管理第三方应用程序的权限。
第三方应用程序请求时始终需要基本用户数据。此外,Logto 支持分配组织资源,使其成为 B2B 服务的理想选择。
授予用户数据的权限
分配用户级别的权限,包括 用户资料权限(例如,电子邮件、姓名和头像)和 API 资源权限(例如,对特定资源的读或写访问)。
请求的资源名称(例如,个人用户数据、API 名称)和特定权限描述(例如,你的电子邮件地址)将显示在用户授权页面上供用户查看。
通过点击 授权 按钮,用户同意将指定的权限授予第三方应用程序。
授予组织数据的权限
分配组织级别的权限,包括 组织权限 和 API 资源权限。Logto 允许将 API 资源分配给特定的组织角色。
在用户授权页面上,组织数据与用户数据分开显示。在授权流程中,用户必须选择一个特定的组织以授予访问权限。用户可以在确认前在组织之间切换。第三方应用程序将仅获得对所选组织的数据和相关权限的访问。
权限类型
用户权限(用户资料权限)
这些权限是 OIDC 标准和 Logto 的基本用户资料权限,用于访问用户声明 (Claims)。用户声明 (Claims) 将相应地在 ID 令牌和 userinfo 端点中返回。
profile
:OIDC 标准权限,用于访问用户名和头像。email
:OIDC 标准权限,用于访问用户电子邮件。phone
:OIDC 标准权限,用于访问用户电话号码。custom_data
:Logto 用户资料权限,用于访问 用户自定义数据。identity
:Logto 用户资料权限,用于访问用户关联的 社交身份 信息。role
:Logto 用户资料权限,用于访问用户 角色 (Role) 信息。urn:logto:scope:organizations
:Logto 用户组织 (Organization) 权限,用于访问用户组织信息。如果启用并由第三方应用程序请求,用户授权页面上将显示一个组织选择器。这允许用户查看并选择他们希望授予访问权限的组织。有关更多详细信息,请参见 组织 (Organizations)。urn:logto:scope:organization_roles
:Logto 用户组织 (Organization) 权限,用于访问用户组织角色信息。
在授权请求中请求未启用的用户资料权限将导致错误。
API 资源权限(API 资源权限)
Logto 为 API 资源提供基于角色的访问控制 (RBAC)。API 资源是由你的服务拥有并由 Logto 保护的资源。你可以为第三方应用程序分配自定义的 API 权限以访问你的 API 资源。请参阅 RBAC、组织模板和 保护你的 API 以获取更多详细信息。
你可以在 控制台 > API 资源 下创建和管理你的 API 资源权限。
未启用给第三方应用程序的 API 资源权限在发送授权请求时将被忽略。它不会显示在用户授权页面上,也不会被 Logto 授予。
组织权限(组织权限)
组织权限 是专为 Logto 组织定义的权限。它们用于访问组织信息和资源。
为了使用 Logto 组织权限,你需要启用 urn:logto:scope:organizations
用户权限。否则,在发送授权请求时,组织权限将被忽略。
你可以在组织模板设置页面下定义你自己的组织权限。请参阅 配置组织模板 以获取更多详细信息。
未启用给第三方应用程序的组织权限在发送授权请求时将被忽略。它不会显示在用户授权页面上,也不会被 Logto 授予。