身份验证与 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" 链接添加密码。
社交和提供商登录
为简化访问,用户可以使用其现有的提供商账户登录:
- GitHub
- Microsoft(Azure AD/Entra ID)
- ClickHouse Cloud
出于安全原因,Langfuse 不支持在 Google、GitHub 或 Microsoft 登录之间切换,或在用电子邮件/密码注册后用这些社交登录之一注册。ClickHouse Cloud 支持如下所述的显式账户关联。
ClickHouse Cloud 身份验证
用户可以使用其 ClickHouse Cloud 账户登录 Langfuse Cloud。 该提供商在所有 Langfuse Cloud 区域可用,并与其他登录选项一起出现在登录页面上。
细节:
- 账户关联: 与其他社交登录不同,使用已有 Langfuse 账户的电子邮件通过 ClickHouse Cloud 登录会将两者关联。现有项目、成员资格和 API 密钥会延续,因此用户可以从电子邮件/密码或其他社交登录切换到 ClickHouse Cloud,而无需创建新账户。
- 登录: 在登录页面,点击 Sign in with ClickHouse Cloud 并使用你的 ClickHouse Cloud 账户进行身份验证。
企业 SSO 与 SSO 强制执行
企业 SSO 在 Pro 计划(团队附加项)、Enterprise 计划和自托管版本中可用;Hobby 和 Core 计划不可用。
Langfuse 通过 OIDC 支持企业 SSO(例如 Okta、Authentik、OneLogin、Azure AD、Keycloak、WorkOS、JumpCloud 等)。
Langfuse 支持每个客户组织多个域,但每个域必须由你的组织独占拥有。不支持共享域(例如来自分包商或咨询公司的域)。
细节:
- 迁移: 用电子邮件/密码或社交登录注册的现有用户,在企业 SSO 提供商设置后会自动迁移到该提供商。
- 授权: 企业 SSO 不会在注册时自动为新用户配置角色。用户必须被邀请到组织,可以通过 UI(settings > members)或 SCIM API。
- 登录: 要使用企业 SSO 提供商登录,请 (1) 输入你的电子邮件地址,并 (2) 按 "Continue"。你将被重定向到企业 SSO 提供商进行身份验证。

Langfuse 仅支持通过 OIDC 进行身份验证。不支持 SAML。
在 Langfuse Cloud 上配置企业 SSO
组织管理员可以直接在 Organization Settings > SSO 中配置企业 SSO。
1) 验证域
- 导航到 Organization Settings > SSO。
- 在 Verify Domain 部分,点击 Add Domain 并输入你要验证的域。
- 将 Langfuse 提供的 DNS TXT 记录复制到你的 DNS 提供商。
- 等待 DNS 传播,然后点击 Verify 验证该域。
在配置 SSO 之前需要域验证。这确保只有控制某个域的组织才能为其配置 SSO。
如果验证失败,请确认记录名称/值完全匹配,移除周围的引号,并在传播后重新检查。许多 DNS 提供商需要几分钟,但可能需要最多 24 小时。
2) 配置 SSO
- 在 SSO Configuration 部分,点击你要设置的已验证域旁边的 Configure SSO。
- 复制 Langfuse 提供的回调 URL,并将其加入你的 IdP 应用的重定向/回调 URL 允许列表。
- 输入来自你 IdP 的 issuer URL、client ID 和 client secret,然后保存配置。
- 用来自已验证域的用户测试登录。
GitHub 和 GitHub Enterprise 不暴露标准的 OIDC 发现端点。Langfuse 无法在设置期间预先验证这些 issuer URL。请仔细检查你 IdP 中的 issuer 和回调 URL 允许列表,然后在保存后立即运行测试登录,以便在上线前捕获错误。
强制执行 SSO 时防止锁定
强制执行 SSO 不会结束已经活动的会话。你当前的浏览器会话保持登录状态,即使在启用强制执行之后也是如此。用这个来安全地验证设置:启用强制执行,然后在单独的浏览器或隐私/无痕窗口中测试 SSO 登录。如果登录未按预期工作,请在它影响其他用户之前从你仍然活动的会话中恢复配置。
应急用户(Break-Glass Users)
Langfuse 不支持对强制域设置例外。一旦为某个域启用 SSO 强制执行,就没有可以继续使用电子邮件/密码登录的"应急"账户。如果你对此功能感兴趣,请为该 GitHub discussion 投票。
厂商指南
Okta
步骤 1:在 Okta 中创建 OIDC 应用
- 登录 Okta 管理控制台
- 导航到 Applications > Applications
- 点击 Create App Integration
- 选择 OIDC - OpenID Connect 作为登录方法
- 选择 Web Application 作为应用类型
- 点击 Next
步骤 2:配置应用
- 输入应用集成名称(例如 "Langfuse")
- 将 Sign-in redirect URI 设置为:
https:///api/auth/callback/.okta示例:https://cloud.langfuse.com/api/auth/callback/example.com.okta - (可选)如需要,设置 Sign-out redirect URI
- (Scopes)Langfuse 在身份验证期间不使用 Scopes
- 在 Assignments 下,选择如何分配用户
- 点击 Save
步骤 3:检索凭证
- 在应用的 General 标签页,复制 Client ID 和 Client Secret
- 记下你的 Okta Issuer URL(例如
https://example.okta.com)
步骤 4:在 Langfuse 中验证你的域
- 在 Langfuse 中,打开 Organization Settings > SSO
- 在 Verify Domain 部分,点击 Add Domain 并输入应使用 Okta 的域
- 将 Langfuse 提供的 DNS TXT 记录复制到你的 DNS 提供商
- 等待 DNS 传播,然后在 Langfuse 中点击 Verify
步骤 5:在 Langfuse 中配置 SSO
- 在 Organization Settings > SSO 中,在 SSO Configuration 部分找到你已验证的域
- 点击 Configure SSO
- 选择 Okta 作为提供商
- 复制 Langfuse 显示的回调 URL,并将其添加到 Okta 的 Sign-in redirect URIs 允许列表
- 输入 Issuer URL、Client ID 和 Client Secret
- 保存配置
步骤 6:分配用户
- 在 Okta 中,转到你的 Langfuse 应用的 Assignments 标签页
- 分配应有权访问 Langfuse 的用户或组
IdP 发起的 SSO
Langfuse 支持 IdP 发起的 SSO(身份提供商发起的单点登录),用户可以直接从 Okta 启动 SSO 流程,而非从 Langfuse 启动。
IdP 发起的 SSO 身份验证流程示例(Okta):
要启用 IdP 发起的 SSO,请将 Okta 配置为将用户重定向到:
https://cloud.langfuse.com/auth/sso-initiate?provider=<PROVIDER>
- 将 `` 替换为你回调 URL 的最后一部分,例如
example.com.okta。 - 在 Okta 的设置中使用
Redirect to app to initiate login (OIDC Compliant)选项。
使用 SCIM 配置用户
关于自动用户配置,参见 Okta SCIM 设置指南。
相关资源
- SCIM 与组织 API,用于在配置 SSO 后自动化用户配置、角色分配和项目设置