简体中文
  • sso
  • authentication
  • consent
  • permissions
  • idp

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

Logto 可以用作你的第三方应用程序的身份提供商。本文解释了如何配置 Logto 作为一个 IdP。

Simeng
Simeng
Developer

Logto 是一个基于云的身份和访问管理 (IAM) 平台,提供了一套全面的身份验证、授权和用户管理功能。它可以作为你的第三方应用程序或服务的身份提供商 (IdP),允许你验证用户身份并管理他们对这些应用程序的访问。

在本文中,我们将解释如何将 Logto 配置为第三方应用程序的 IdP,以及如何使用它来验证用户身份和管理他们的权限。

什么是身份提供商 (IdP)?

身份提供商 (IdP) 是一种服务,用于验证用户身份并管理他们的登录凭据。确认用户身份后,IdP 会生成身份验证令牌或断言,并允许用户访问各种应用程序或服务,而无需再次登录。基本上,它是企业中用于管理员工身份和权限的首选系统。

什么是第三方 IdP?

第三方 IdP 是一个由与服务提供商 (SP) 不同的组织拥有的 IdP。SP 请求访问不属于它自己的用户数据。例如,如果你使用 Logto 作为你的 IdP,并登录到一个第三方社交 App,那么 Logto 就是这个社交 App 的第三方 IdP。

在现实世界中,许多应用程序使用 Google、Facebook 或其他第三方服务作为其 IdP。这被称为单点登录 (SSO)。要了解有关 SSO 的更多信息,请查看我们的文章 CIAM 101: Authentication, Identity, SSO

现在,让我们来看一下如何将 Logto 集成为你的应用程序的第三方 IdP。

如何为你的应用程序集成第三方 IdP 及其最佳实践

准备条件

  • 在开始之前,你需要有一个 Logto 账户。如果你没有,可以在 Logto 注册一个免费账户。

  • 你想设置 Logto 作为 IdP 的第三方应用程序。用户可以使用他们的 Logto 账户登录。

创建 Logto 中的第三方 OIDC 应用程序

要在 Logto 中创建第三方 OIDC 应用程序,请按照以下步骤操作:

  1. 前往 Logto 控制台 并导航到 应用程序 页面。

  2. 点击页面右上角的 创建应用程序 按钮。选择“第三方应用 -> OIDC”作为应用程序类型。

    创建应用程序

  3. 在弹出模式中填写应用程序的基本信息,包括 名称描述。点击 创建 按钮。这将生成一个新的第三方应用程序实体并跳转到详细信息页面。

    应用程序详情

设置 OIDC 配置

按照以下步骤在应用程序详情页面下配置 OIDC 设置:

  1. 导航到刚创建的第三方应用程序的 应用程序详情 页面。

  2. 提供你的第三方应用程序的 重定向 URI。这是第三方应用程序在 Logto 验证用户身份后将用户重定向到的 URL。通常可以在第三方应用程序的 IdP 连接设置页面中找到此信息。

    redirect uri

    (Logto 支持多个重定向 URI。你可以通过点击 添加另一个 按钮来添加更多重定向 URI。)

  3. 从 Logto 复制 客户端 ID客户端密钥,并将它们输入到你的服务提供商的 IdP 连接设置页面。

    client credentials
  4. 从 Logto 复制 OIDC 发现端点,并将其输入到你的服务提供商的 IdP 连接设置页面。

    OIDC 发现端点是一个 URL,服务提供商可以使用该 URL 来发现 IdP 的 OIDC 配置详细信息。它包含服务提供商需要用于与 Logto 验证用户身份的授权端点、令牌端点和用户信息端点等信息。

    discovery endpoint endpoint details

检查点

设置完所有 OIDC 配置详细信息后,你现在可以将 Logto 用作应用程序的第三方 IdP。在第三方应用程序上测试集成,以确保用户可以使用其 Logto 帐户登录。

管理应用程序权限

与第一方应用程序不同,第三方应用程序不是由 Logto 拥有的应用程序。它们通常是由第三方服务提供商拥有的,并使用 Logto 作为外部 IdP 来验证用户身份。例如,Slack、Zoom 和 Notion 都是第三方应用程序。

确保在第三方应用程序请求访问你的用户信息时授予正确的权限非常重要。Logto 允许你管理第三方应用程序的权限,包括用户配置文件范围、API 资源范围和组织范围。

请求没有启用的范围将导致错误。这是为了确保你的用户信息受到保护,仅能被你信任的第三方应用程序访问。一旦启用了范围,第三方应用程序可能请求访问这些启用的范围。这些范围将在用户许可页面显示,以供用户查看并授予访问权限给第三方应用程序。

请查看我们的文章 用户许可屏幕 了解有关用户许可屏幕的更多详细信息。

向你的第三方应用程序添加权限

进入 应用程序详情 页面并导航到 权限 选项卡。点击 添加权限 按钮以管理第三方应用程序的权限。

权限选项卡

用户权限(用户配置文件范围)

这些权限是 OIDC 标准和 Logto 的基本用户配置文件范围,用于访问用户声明。用户声明将相应地返回在 ID 令牌和用户信息端点中。

user permissions

API 资源权限(API 资源范围)

Logto 为 API 资源提供基于角色的访问控制 (RBAC)。API 资源是由你的服务拥有并且受到 Logto 保护的资源。你可以为第三方应用程序分配自定义 API 范围以访问你的 API 资源。如果你不知道如何使用这些 API 资源范围,请查看我们的 RBAC保护你的 API 指南。

api resource permissions

你可以在 Logto 控制台的 API 资源 页面下创建和管理你的 API 资源范围。

组织权限(组织范围)

组织权限是在 Logto 组织中独家定义的范围。它们用于访问组织信息和资源。要了解有关组织和如何使用组织范围的更多信息,请查看我们的 组织 指南。

organization permissions

要创建和管理你的组织范围,请前往 Logto 控制台的 组织模板 页面。请参见 配置组织 获取更多详细信息。

许可页面

一旦启用了所有权限,第三方应用程序可能会请求访问这些启用的权限。这些权限将显示在用户许可页面上,以便用户审核并授予访问权限给第三方应用程序。

consent permissions

点击 授权 按钮后,用户将授予第三方应用程序访问这些请求权限的权限。

定制许可屏幕

最后但同样重要的是,确保第三方的品牌信息和隐私链接在用户重定向到第三方应用程序的许可页面时正确显示是很重要的。

除了第一方应用程序的通用登录体验外,Logto 允许你定制第三方应用程序的这些附加品牌信息,包括应用程序名称、Logo 和条款链接。

  1. 前往 Logto 控制台 并导航到第三方应用程序的详情页面。

  2. 导航到 品牌 选项卡。

    品牌选项卡

  • 显示名称:将在许可页面上显示的第三方应用程序名称。它将代表请求访问你的用户信息的第三方应用程序的名称。如果该字段留空,将使用应用程序名称。
  • Logo:将在许可页面上显示的第三方应用程序的 Logo。它将代表请求访问你的用户信息的第三方应用程序的品牌。如果同时提供了第三方应用程序的 Logo 和 Logto 通用登录体验 Logo,则两者都会显示在许可页面上。
  • 黑暗 Logto:仅在启用黑暗模式登录体验时可用。在 登录体验 页面管理黑暗模式设置。
  • 条款链接:将在许可页面上显示的第三方应用程序的条款链接。
  • 隐私链接:将在许可页面上显示的第三方应用程序的隐私链接。

总结

恭喜你!你已成功地将 Logto 集成为应用程序的第三方 IdP。通过配置 OIDC 设置,你已经建立了一个强大且安全的用户身份验证和授权机制。有了 Logto,你现在可以顺利地验证用户身份并管理他们对任何第三方应用程序的访问。