跳到主要内容

第三方应用(OAuth / OIDC)

Logto 的第三方应用集成让你可以将 Logto 作为外部应用的 身份提供商 (IdP)

身份提供商 (IdP) 是一种验证用户身份并管理其登录凭据的服务。在确认用户身份后,IdP 会生成认证 (Authentication) 令牌或断言,并允许用户访问各种应用或服务,无需再次登录。

将 Logto 集成到你的应用 指南中你自己开发和完全控制的应用不同,第三方应用是由外部开发者或业务合作伙伴开发的独立服务。

这种集成方式非常适合常见的业务场景。你可以让用户使用他们的 Logto 账户访问合作伙伴应用,就像企业用户用 Google Workspace 登录 Slack 一样。你也可以构建一个开放平台,让第三方应用可以添加“使用 Logto 登录”功能,类似于“使用 Google 登录”。

Logto 是基于 OpenID Connect (OIDC) 协议构建的身份服务,提供 认证 (Authentication)授权 (Authorization) 能力。这使得集成 OIDC 第三方应用与传统 Web 应用一样简单。

由于 OIDC 是在 OAuth 2.0 基础上增加了认证 (Authentication) 层,因此你也可以使用 OAuth 协议集成第三方应用。

在 Logto 中创建第三方应用

  1. 前往 控制台 > 应用
  2. 选择“第三方应用”作为应用类型,并选择以下集成协议之一:
    • OIDC / OAuth
  3. 输入你的应用名称和描述,点击“创建”按钮。一个新的第三方应用就会被创建。

所有已创建的第三方应用会在“应用”页面的“第三方应用”标签下进行分类。这种安排有助于你将它们与你自己的应用区分开,方便你在一个地方统一管理所有应用。

设置 OIDC 配置

备注:

在设置 OIDC 配置之前,请确保你已经创建了 OIDC 第三方应用

  1. 提供你的 OIDC 第三方应用的 重定向 URI。这是第三方应用在用户通过 Logto 认证 (Authentication) 后重定向用户的 URL。 你通常可以在第三方应用的 IdP 连接设置页面找到这些信息。

  2. 从 Logto 应用详情页获取 client IDclient secret,并将它们填写到你的服务提供商的 IdP 连接设置页面。

  3. 从 Logto 应用详情页获取 授权端点令牌端点,并提供给你的服务提供商。 如果你的服务提供商支持 OIDC 发现,你只需复制 Logto 应用详情页的 发现端点 并提供给服务提供商。服务提供商会自动从发现端点获取所有最新的 OIDC 认证 (Authentication) 信息。 否则,点击 显示端点详情 按钮以查看所有 OIDC 认证 (Authentication) 端点。

出于安全考虑,所有 OIDC 第三方应用在通过 Logto 认证 (Authentication) 后都会被重定向到 用户授权页面 (Consent screen) 进行用户授权 (Authorization)。

所有第三方请求的 用户资料权限API 资源权限组织权限 以及组织成员信息都会在用户授权页面 (Consent screen) 上展示。

只有当用户点击“授权 (Authorize)”按钮后,这些请求的权限才会被授予第三方应用。

consent screen

后续操作

常见问题

Logto 使用基于角色的访问控制 (RBAC) 来管理用户权限。在用户授权页面 (Consent screen) 上,只有已经通过角色分配给用户的权限 (Scopes) 会被展示。如果第三方应用请求了用户没有的权限 (Scopes),这些权限会被排除,以防止未经授权的授权 (Consent)。

管理方式如下:

  • 定义带有特定权限 (Scopes) 的全局角色组织角色
  • 根据访问需求为用户分配角色。
  • 用户会自动继承其角色中的权限 (Scopes)。

使用场景:集成 Apache Answer,为你的用户搭建社区

使用 Logto 作为第三方身份提供商 (IdP)