已合并
fix: 打通用户面的同源代理并补齐联合认证配置 #463
Wal1et创建于 9 天前
fix: 打通用户面的同源代理并补齐联合认证配置 #463
已合并
Pull Request已成功合入, 合并人@曹玉哲
(感谢 Wal1et 的贡献)atomgit-bot
9 天前 评论:
9 天前 评论:
变更摘要
该 PR 主要打通 Manager Web 到用户面(User Web 与 Gateway)的同源代理链路,并补齐联合认证(federation)配置。核心改动是:/chat 由直接下发静态 dist 改为反向代理到独立的 User Web 服务,新增到 Gateway 的 HTTP(/gateway-api、/file-api、/share-api)与 WebSocket(/ws)中继,并在统一用户入口上统一做身份校验;同时把访问令牌同步为同源 Cookie 供代理鉴权,重命名/新增网关与用户面配置项,修复 Manager API 代理的内部 307 重定向,以及补齐 IDENTITY_FEDERATION_* 联合认证配置与对应测试。
主要改动
- 打通用户面同源代理链路:
manager_web.py中/chat从静态文件改为经_relay转发到user_web_url;新增/gateway-api/{tail}(流式_relay_stream到gateway_http_url/api/{tail})、/file-api、/share-api代理,以及/ws双向 WebSocket 中继_relay_websocket,这些路由均先经_validate_identity校验身份。 - 代理端消化 Manager API 内部重定向:
/api与新增的/manager-api/{tail}代理启用follow_redirects=True,由代理完成 Manager Server 集合路由的 307 尾斜杠跳转,避免内部集群域名暴露给浏览器;/manager-api独立前缀以避免与/api/v1/*冲突。 - 认证支持同源 Cookie 并同步到前端:
_request_authorization兼容authorization请求头或openjiuwen_access_tokenCookie;api.ts新增syncAccessCookie,在设置/清除 token 时将 access token 写入Path=/; SameSite=Strict的同源 Cookie。 - 配置项重命名与新增:
config.py与.env.example将manager_web_user_server_target改为manager_web_user_web_target、manager_web_gateway_sse改为manager_web_gateway_http_target,并新增manager_web_gateway_ws_target;CLI 参数同步替换为--user-web-target、--gateway-http-target、--gateway-ws-target,Dockerfile.manager-web移除user_web/dist占位目录的创建。 - 补齐联合认证配置与前端上下文同步:
.env.example新增IDENTITY_FEDERATION_DEMO_ENABLED、IDENTITY_FEDERATION_PUBLIC_PATH_PREFIX、IDENTITY_FEDERATION_REQUEST_TTL、IDENTITY_FEDERATION_CODE_TTL、IDENTITY_FEDERATION_DEMO_ADMIN_GROUP(默认关闭),并新增test_federation_config.py验证默认值与显式环境变量;UserConsole.tsx通过 postMessage 在父窗口与内嵌 User Web iframe 间同步用户/组织/组网/Agent 上下文快照并支持内嵌页切换与登出;vite.config.ts开发代理同步更新为/chat、/gateway-api、/file-api、/share-api、/ws、/manager-api等新前缀。


atomgit-bot
9 天前 评论:
9 天前 评论:
🤖 AI 代码检视正在进行中,请稍候…


atomgit-bot
9 天前 评论:
9 天前 评论:
openJiuwen-bot
9 天前 评论:
9 天前 评论:
欢迎来到 openJiuwen 社区
Hey @u010240195 , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。


9 天前 添加了label:openJiuwen-cla/yes
openJiuwen-bot
9 天前 评论:
9 天前 评论:
9 天前 修改了pull request 的描述
9 天前 关联了issue:[Feature]: Agent Runtime - Agent执行
openJiuwen-bot
9 天前 评论:
9 天前 评论:
9 天前 添加了label:ci-successful
9 天前 删除了label:ci-successful
Paired: GitHub #112 ↔ GitCode !463
What type of PR is this?
/kind
Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入)