跳到主要内容

设置 OpenID Connect (OIDC) 单点登录 (SSO)

通过极简配置,这个连接器可以让你集成任何基于 OIDC 的身份提供商 (IdP)。

提示:

有关 SSO 和如何在 Logto 中配置 SSO 的更多信息,请查看 企业单点登录 (SAML & OIDC) 文档以开始使用。

步骤 1:在你的身份提供商 (IdP) 上创建 OIDC 应用

通过在身份提供商 (IdP) 端创建一个应用程序来启动 OIDC 单点登录 (SSO) 集成。你需要提供来自 Logto 服务器的以下配置。

  • 回调 URI:Logto 回调 URI,也称为重定向 URI 或回复 URL,是 IdP 用于在成功认证 (Authentication) 后重定向用户浏览器的特定端点或 URL。当用户成功通过 IdP 认证 (Authentication) 后,IdP 会将用户的浏览器重定向回这个指定的 URI,并附带一个授权 (Authorization) 代码。Logto 将根据从此 URI 接收到的授权 (Authorization) 代码完成认证 (Authentication) 过程。

在你的 IdP OIDC 应用程序设置表单中填写 Logto 回调 URI,并继续创建应用程序。(大多数 OIDC IdP 提供多种应用程序类型可供选择。要在 Logto 上创建基于 Web 的 SSO 连接器,请选择 Web Application 类型。)

步骤 2:在 Logto 上配置 OIDC 单点登录 (SSO)

在 IdP 端成功创建 OIDC 应用后,你需要将 IdP 的配置信息返回给 Logto。前往 Connection 标签页,并填写以下配置信息:

  • Client ID:由 IdP 分配给你的 OIDC 应用的唯一标识符。Logto 使用此标识符在 OIDC 流程中识别并认证该应用。
  • Client Secret:Logto 与 IdP 之间共享的机密密钥。此密钥用于认证 OIDC 应用,并保障 Logto 与 IdP 之间的通信安全。
  • 发行者 (Issuer):发行者 (Issuer) URL,是 IdP 的唯一标识符,指定了可以找到 OIDC 身份提供商 (IdP) 的位置。它是 OIDC 配置中的关键部分,有助于 Logto 发现所需的端点。 为了简化配置流程,Logto 会自动获取所需的 OIDC 端点和配置信息。这是通过你提供的发行者 (Issuer) 并调用 IdP 的 OIDC 发现端点来实现的。务必确保发行者 (Issuer) 端点有效且配置准确,以便 Logto 能正确获取所需信息。 成功获取后,你应该可以在发行者 (Issuer) 部分看到解析后的 IdP 配置信息。

步骤 3:配置权限 (Scopes)(可选)

权限 (Scopes) 定义了你的应用从用户请求哪些权限,并控制你的应用可以从他们的企业账户访问哪些数据。

设置权限 (Scopes) 需要在双方进行配置:

  1. 你的身份提供商 (IdP):在 IdP 控制台中配置哪些权限允许用于授权 (Authorization)
    • 某些 IdP 默认启用所有公共权限 (Scopes)(无需操作)
    • 其他 IdP 需要你显式授予权限
  2. Logto 企业连接器:在 Logto OIDC 企业连接器设置 > Scopes 字段中,指定在认证 (Authentication) 过程中要请求哪些权限 (Scopes)。
    • Logto 总是包含 openidprofileemail 权限 (Scopes),以获取基本的用户身份信息,无论你的自定义权限 (Scopes) 设置如何。
    • 你可以添加其他权限 (Scopes)(用空格分隔),以从 IdP 请求更多信息。
提示:

如果你的应用需要使用这些权限 (Scopes) 访问 API,请确保在 Logto 企业连接器中启用 为持久 API 访问存储令牌。详情请参见下一节。

步骤 4:存储令牌以访问第三方 API(可选)

如果你想访问身份提供商 (IdP) 的 API 并在用户授权 (Authorization) 下执行操作,Logto 需要获取特定的 API 权限 (Scopes) 并存储令牌。

  1. 按照上述说明,在 scope 字段中添加所需的权限 (Scopes)
  2. 在 Logto OIDC 企业连接器中启用 为持久 API 访问存储令牌。Logto 会将访问令牌 (Access tokens) 安全地存储在 Secret Vault 中。
  3. 对于 标准 OIDC 身份提供商 (IdP),必须包含 offline_access 权限 (Scope) 以获取刷新令牌 (Refresh token),从而避免反复提示用户授权 (Consent)。

步骤 5:设置邮箱域名并启用 SSO 连接器

在 Logto 的连接器 SSO 体验 选项卡中提供你组织的 email domains。这将为这些用户启用 SSO 连接器作为认证 (Authentication) 方法。

属于指定域名的邮箱用户将被重定向,仅能使用你的 SSO 连接器作为他们唯一的认证 (Authentication) 方法。