快速结论:该报错通常出现在 Langfuse 通过自定义 OIDC SSO(如 Oracle IAM)登录时,回调阶段因用户信息缺失(如 email 字段)、token 响应包含多余字段或 PKCE 不兼容导致认证失败。优先检查 userinfo 返回的 email 字段是否存在于顶层,并查看 Pod 日志中是否有 PrismaClientValidationError。
适用环境:Langfuse 4.16.0 自托管版,部署于 AWS EKS,数据库为 PostgreSQL,身份提供方为基于 Oracle IAM 的企业内部 SSO 平台。
最快修复方案:暂无确认的一步修复方案。Issue 讨论中给出了多个可能原因及对应的排查/设置项,需按顺序验证(见解决步骤)。
注意事项:以下解决步骤均为可能原因对应的排查建议,尚未在 Issue 中得到最终验证;请根据实际环境逐项尝试。`AUTH_CUSTOM_ID_TOKEN=false` 在本次场景中确认是正确配置。
问题场景
用户在 Langfuse 4.16.0 自托管版本中配置了自定义 OIDC SSO(基于 Oracle IAM)。点击 SSO 登录按钮后,认证流程重定向回 Langfuse,但登录页面显示 OAuthCallback 错误。应用启动正常,OIDC 元数据、token 和 userinfo 端点均可访问且返回有效响应,但认证始终在回调阶段失败。
报错原文
OAuthCallback
Contact support if this error is unexpected.
[NEXT_AUTH] OAUTH_CALLBACK_ERROR
原因分析
可能原因包括:
- userinfo 返回缺少 email 等必填字段:Langfuse 的 CustomSSOProvider 从用户资料中提取 sub、email、name,signIn 回调会拒绝没有有效 email 的 profile。如果 Oracle IAM 返回的 email 字段名不是标准的
email(例如preferred_username或mail),会导致静默失败。 - token 响应包含多余字段:有用户在使用 ADFS 时遇到相同报错,原因是 token 响应中包含
resource字段,而该字段不存在于 Langfuse 的 Prisma Account 模型中。Oracle IAM 可能返回类似的厂商专属字段,导致写入数据库失败。 - PKCE 兼容性问题:自定义 provider 默认启用 pkce 和 state 校验,如果 Oracle IAM 不支持 PKCE,回调阶段会失败。
环境排查
- 确认 userinfo 端点返回的 JSON 中是否包含顶层
email、sub、name字段;如字段名不同,需记录实际名称。 - 检查 Langfuse Pod 日志中是否存在
PrismaClientValidationError错误,该类错误会直接指出引起问题的字段名。 - 确认 Oracle IAM 是否支持 PKCE 流程。
- 验证
AUTH_CUSTOM_ID_TOKEN=false配置,确认用户身份确实从 userinfo 端点获取(Issue 中确认此配置在本次场景是正确的)。
解决步骤
- 检查 userinfo 端点返回的数据,确认
email、sub、name是否存在且为顶层字段。 - 如果 email 字段名不同,通过环境变量指定实际字段名:
LANGFUSE_CUSTOM_SSO_EMAIL_CLAIM=<实际字段名>同理可按需设置
LANGFUSE_CUSTOM_SSO_NAME_CLAIM和LANGFUSE_CUSTOM_SSO_SUB_CLAIM。 - 查看 Pod 日志是否出现
PrismaClientValidationError;如果存在,记录报错中提到的多余字段名,然后设置:AUTH_IGNORE_ACCOUNT_FIELDS=<字段1>,<字段2>过滤掉这些多余字段。
- 如果上述步骤均无法解决,可优先尝试关闭 PKCE 校验(仅保留 state 校验):
AUTH_CUSTOM_CHECKS=state此方案属于推测性尝试,尚未在 Issue 中验证。
验证方法
完成上述配置调整后,重新点击 SSO 登录按钮,确认能成功跳转回 Langfuse 并完成登录。同时检查 Langfuse Pod 日志,确认不再出现 OAUTH_CALLBACK_ERROR 或 PrismaClientValidationError 错误。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


