issue: OpenWebUI currently tries to discover OAuth directly from the MCP server host:

这个报错通常出现在 Open WebUI 用 OAuth 2.1 接入 MCP Server、且 OAuth 授权服务器与 MCP Server 不在同一域名时。优先排查 Open WebUI 中填写的 MCP 连接地址是否写成了裸主机名,而不是完整的 /mcp 端点。

快速结论:这个报错通常出现在 Open WebUI 用 OAuth 2.1 接入 MCP Server、且 OAuth 授权服务器与 MCP Server 不在同一域名时。优先排查 Open WebUI 中填写的 MCP 连接地址是否写成了裸主机名,而不是完整的 /mcp 端点。

适用环境:Open WebUI v0.11.4;Docker 安装;操作系统为 Ubuntu。Issue 未提供 Ollama 版本、浏览器、Python、CUDA、显卡或依赖版本信息。

最快修复方案:把 MCP 连接 URL 改成完整端点地址,例如从 https://mcp.shopsbuilder.app 改为 https://mcp.shopsbuilder.app/mcp。维护者确认 Open WebUI 已经会读取 protected resource metadata 并跳转到 authorization server,问题出在裸主机名无法解析到 metadata。

注意事项:该修复依赖 MCP Server 只在 /mcp 端点暴露 /.well-known/oauth-protected-resource。如果换成完整端点后仍然失败,需要带上新的报错文本重新开启 Issue;该场景下可能涉及更底层的 discovery 逻辑问题。

问题场景

用户在 Open WebUI v0.11.4 中以 Docker 方式部署,并配置 MCP 集成为 OAuth 2.1。MCP Server 地址与 OAuth 授权服务器分属不同域名,例如 MCP Server 为 https://mcp.shopsbuilder.app,授权服务器为 https://id.shopsbuilder.app/realms/demo。此时 OAuth 2.1 流程在 discovery 阶段失败,无法继续完成授权。

报错原文

Failed to fetch OAuth 2.1 discovery document from
[
  "https://mcp.shopsbuilder.app/.well-known/oauth-authorization-server",
  "https://mcp.shopsbuilder.app/.well-known/openid-configuration"
]

Issue 标题中描述的行为为:issue: OpenWebUI currently tries to discover OAuth directly from the MCP server host:

原因分析

维护者已确认:Open WebUI 本身会遵循 MCP OAuth 的发现链,即先读取 protected resource metadata,再使用其中的 authorization_servers 到授权服务器上执行 OAuth/OIDC discovery。

实际报错的原因是连接 URL 填写成了裸主机名 https://mcp.shopsbuilder.app。该 MCP Server 只在 /mcp 端点响应 metadata 查询,从裸主机名发起请求时找不到 /.well-known/oauth-protected-resource,于是 Open WebUI 回退到直接在 MCP 主机上查找 /.well-known/oauth-authorization-server 与 /.well-known/openid-configuration,最终失败。

因此这更像是连接地址配置问题,而不是 Open WebUI 没有实现 discovery 链。

环境排查

  • 确认 Open WebUI 版本为 v0.11.4,且安装方式为 Docker。
  • 确认 MCP 集成的 OAuth 模式选择的是 OAuth 2.1。
  • 确认 MCP 连接 URL 是否写成裸主机名,而不是包含 /mcp 的完整端点。
  • 确认 MCP Server 的 /.well-known/oauth-protected-resource 只在 /mcp 路径下可用。
  • 确认 authorization_servers 返回的授权服务器地址可访问,并且其 OpenID configuration 可正常拉取。
  • Issue 未提供 Ollama 版本、浏览器、Python、CUDA、PyTorch、显卡或依赖版本,这些项目无需在当前排错中优先检查。

解决步骤

  1. 进入 Open WebUI 的 MCP 集成配置页面。
  2. 找到当前填写的 MCP 连接 URL,例如 https://mcp.shopsbuilder.app。
  3. 将其改为完整端点地址:https://mcp.shopsbuilder.app/mcp。
  4. 保存配置并重新触发 OAuth 2.1 授权流程。
  5. 如果仍失败,记录新的完整报错文本,并按维护者提示重新开启 Issue 或提交新报告。

验证方法

使用完整的 https://mcp.shopsbuilder.app/mcp 作为连接 URL 后,重新执行 OAuth 2.1 授权。若 discovery 能解析到 https://id.shopsbuilder.app/realms/demo 并找到其 OpenID configuration,则说明问题已解决。若仍出现相同的 discovery 失败报错,则说明可能还有其它配置或逻辑问题,需要进一步排查。

参考来源

open-webui/open-webui #31665

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26692

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注