Langfuse 文档 中文 英文原文 ↗
文档 / 身份验证与 SSO

身份验证与 SSO

默认情况下,Langfuse 支持电子邮件/密码、社交登录(Sign in with Google、GitHub、Microsoft),以及通过 ClickHouse Cloud 进行身份验证。

为提高安全性,你还可以通过 OIDC 配置企业 SSO(例如 Okta、Authentik、GitHub Enterprise、OneLogin、Azure AD、Keycloak、JumpCloud 等)。

关于授权的更多细节,请参阅 RBAC 文档

对于自托管实例,请参阅自托管身份验证与 SSO 指南

电子邮件/密码身份验证

默认情况下,Langfuse 使用电子邮件和密码身份验证。Langfuse 强制执行标准的密码复杂度要求。

如果你使用社交登录注册,可以通过登录页面的 "reset password" 链接添加密码。

社交和提供商登录

为简化访问,用户可以使用其现有的提供商账户登录:

出于安全原因,Langfuse 不支持在 Google、GitHub 或 Microsoft 登录之间切换,或在用电子邮件/密码注册后用这些社交登录之一注册。ClickHouse Cloud 支持如下所述的显式账户关联。

ClickHouse Cloud 身份验证

用户可以使用其 ClickHouse Cloud 账户登录 Langfuse Cloud。 该提供商在所有 Langfuse Cloud 区域可用,并与其他登录选项一起出现在登录页面上。

细节:

企业 SSO 与 SSO 强制执行

企业 SSO 在 Pro 计划(团队附加项)、Enterprise 计划和自托管版本中可用;Hobby 和 Core 计划不可用。

Langfuse 通过 OIDC 支持企业 SSO(例如 Okta、Authentik、OneLogin、Azure AD、Keycloak、WorkOS、JumpCloud 等)。

Langfuse 支持每个客户组织多个域,但每个域必须由你的组织独占拥有。不支持共享域(例如来自分包商或咨询公司的域)。

细节:

SSO 登录流程

Langfuse 仅支持通过 OIDC 进行身份验证。不支持 SAML。

在 Langfuse Cloud 上配置企业 SSO

组织管理员可以直接在 Organization Settings > SSO 中配置企业 SSO。

1) 验证域

  1. 导航到 Organization Settings > SSO
  2. Verify Domain 部分,点击 Add Domain 并输入你要验证的域。
  3. 将 Langfuse 提供的 DNS TXT 记录复制到你的 DNS 提供商。
  4. 等待 DNS 传播,然后点击 Verify 验证该域。

在配置 SSO 之前需要域验证。这确保只有控制某个域的组织才能为其配置 SSO。

如果验证失败,请确认记录名称/值完全匹配,移除周围的引号,并在传播后重新检查。许多 DNS 提供商需要几分钟,但可能需要最多 24 小时。

2) 配置 SSO

  1. SSO Configuration 部分,点击你要设置的已验证域旁边的 Configure SSO
  2. 复制 Langfuse 提供的回调 URL,并将其加入你的 IdP 应用的重定向/回调 URL 允许列表。
  3. 输入来自你 IdP 的 issuer URL、client ID 和 client secret,然后保存配置。
  4. 用来自已验证域的用户测试登录。

GitHub 和 GitHub Enterprise 不暴露标准的 OIDC 发现端点。Langfuse 无法在设置期间预先验证这些 issuer URL。请仔细检查你 IdP 中的 issuer 和回调 URL 允许列表,然后在保存后立即运行测试登录,以便在上线前捕获错误。

强制执行 SSO 时防止锁定

强制执行 SSO 不会结束已经活动的会话。你当前的浏览器会话保持登录状态,即使在启用强制执行之后也是如此。用这个来安全地验证设置:启用强制执行,然后在单独的浏览器或隐私/无痕窗口中测试 SSO 登录。如果登录未按预期工作,请在它影响其他用户之前从你仍然活动的会话中恢复配置。

应急用户(Break-Glass Users)

Langfuse 不支持对强制域设置例外。一旦为某个域启用 SSO 强制执行,就没有可以继续使用电子邮件/密码登录的"应急"账户。如果你对此功能感兴趣,请为该 GitHub discussion 投票。

厂商指南

Okta

步骤 1:在 Okta 中创建 OIDC 应用
  1. 登录 Okta 管理控制台
  2. 导航到 Applications > Applications
  3. 点击 Create App Integration
  4. 选择 OIDC - OpenID Connect 作为登录方法
  5. 选择 Web Application 作为应用类型
  6. 点击 Next
步骤 2:配置应用
  1. 输入应用集成名称(例如 "Langfuse")
  2. Sign-in redirect URI 设置为: https:///api/auth/callback/.okta 示例:https://cloud.langfuse.com/api/auth/callback/example.com.okta
  3. (可选)如需要,设置 Sign-out redirect URI
  4. (Scopes)Langfuse 在身份验证期间不使用 Scopes
  5. Assignments 下,选择如何分配用户
  6. 点击 Save
步骤 3:检索凭证
  1. 在应用的 General 标签页,复制 Client IDClient Secret
  2. 记下你的 Okta Issuer URL(例如 https://example.okta.com)
步骤 4:在 Langfuse 中验证你的域
  1. 在 Langfuse 中,打开 Organization Settings > SSO
  2. Verify Domain 部分,点击 Add Domain 并输入应使用 Okta 的域
  3. 将 Langfuse 提供的 DNS TXT 记录复制到你的 DNS 提供商
  4. 等待 DNS 传播,然后在 Langfuse 中点击 Verify
步骤 5:在 Langfuse 中配置 SSO
  1. Organization Settings > SSO 中,在 SSO Configuration 部分找到你已验证的域
  2. 点击 Configure SSO
  3. 选择 Okta 作为提供商
  4. 复制 Langfuse 显示的回调 URL,并将其添加到 Okta 的 Sign-in redirect URIs 允许列表
  5. 输入 Issuer URLClient IDClient Secret
  6. 保存配置
步骤 6:分配用户
  1. 在 Okta 中,转到你的 Langfuse 应用的 Assignments 标签页
  2. 分配应有权访问 Langfuse 的用户或组
IdP 发起的 SSO

Langfuse 支持 IdP 发起的 SSO(身份提供商发起的单点登录),用户可以直接从 Okta 启动 SSO 流程,而非从 Langfuse 启动。

IdP 发起的 SSO 身份验证流程示例(Okta):

要启用 IdP 发起的 SSO,请将 Okta 配置为将用户重定向到:

https://cloud.langfuse.com/auth/sso-initiate?provider=<PROVIDER>
使用 SCIM 配置用户

关于自动用户配置,参见 Okta SCIM 设置指南

相关资源

非官方中文翻译 · 图片/视频/代码均链接官方资源 · 版权归 Langfuse GmbH 所有 查看英文原文 ↗