已合并
fix(manager): 补全manager侧接口的权限验证 #581
fix(manager): 补全manager侧接口的权限验证 #581
已合并
Wal1et创建于 9 天前
Wal1et
Wal1et
9 天前

Paired: GitHub #251 ↔ GitCode !581

What type of PR is this?

/kind

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入)

likedislike
Pull Request已成功合入, 合并人@张雅晴
(感谢 Wal1et 的贡献)
atomgit-bot
atomgit-bot
9 天前 评论:

变更摘要

本变更主要为 Manager 侧接口补全认证与权限验证:在 register.py 中重构路由装配,将业务接口默认置于 Depends(get_current_user) 的认证子路由下,把 templates、import_export、instance、application_config、instance_access 等旧接口收敛到统一 Depends(require_admin) 的 admin 子树,并把无需登录的公开接口(如登出清理)单独挂载,避免子路由无法移除父级依赖的问题;同时强化 jwt_verify 的 access JWT 校验与 auth_guards 的错误响应语义,修正用户面选路的授权缓存行为,并补充了端到端与单元测试。

主要改动

  • 路由级认证与授权分层:register.py 新增 _build_api_router(),业务 v1_router 默认携带 Depends(get_current_user),旧接口统一放入 Depends(require_admin) 的 admin_router,public_user_console_router 在 /v1/user-console 下独立挂载,使权限型接口与 legacy admin 子树互为兄弟而非嵌套。
  • 认证守卫与错误语义:auth_guards.py 对缺失/无效 token 统一返回带 WWW-Authenticate: Bearer 的 401,并将 PublicKeyUnavailableError 映射为 503;require_permission 写入 dependency.required_permission 便于测试检查依赖图。
  • JWT 校验增强:jwt_verify.py 新增 PublicKeyUnavailableError,并在 decode_token 中要求 exp/iat 为整数、typ 必须为 access、sub 为非空字符串、groups 为字符串列表,同时对畸形 claims 归一为 jwt.InvalidTokenError。
  • 用户面选路授权缓存修正:user_face_upstream.py 将 user_can_access_instance 准入判断前置到缓存查询之前,仅缓存上游映射而不缓存授权决策,使授权撤销/禁用/过期能立即生效。
  • 演示客户端凭证处理:enterprise_config_demo_data_config.py 的 ManagerClient 支持通过 MANAGER_ACCESS_TOKEN 提供 Authorization: Bearer,follow_redirects=False 且将 3xx 视为错误,避免凭证随重定向泄露;user_console_routers.py 将 active-cluster 清理接口挂到公开路由并把响应头改为 Cache-Control: no-store。
likedislike
不准确?
atomgit-bot
atomgit-bot
9 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
openJiuwen-bot成员
9 天前 评论:

欢迎来到 openJiuwen 社区

Hey @u010240195 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

likedislike
atomgit-bot
atomgit-bot
9 天前 评论:

AtomGit AI 助手使用指南

在 PR 评论中使用命令即可触发。支持在普通评论和代码行评论中使用。

功能 命令 说明
代码审查 /ai review 检查代码质量、潜在问题、安全风险
PR 摘要 /ai summary 生成 PR 变更内容的结构化摘要
代码解释 /ai explain 解释代码变更的逻辑和意图
自由提问 @atomgit-bot <问题> 询问关于本 PR 的任何问题
帮助 /ai help 显示此帮助信息

免责声明

AI 助手可能存在误判,请结合自身判断。可以对评论点 👍 或 👎 帮助我们改进。

likedislike
不准确?
OopenJiuwen-bot成员
9 天前 添加了label:openJiuwen-cla/yes
Oopenjiuwen-sync成员
9 天前 修改了pull request 的描述
Wal1etWal1et
9 天前 关联了issue:[Feature]: Agent Runtime - Agent执行
openJiuwen-bot成员
9 天前 评论:
任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
禁用词扫描 ✅SUCCESS 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 N/A N/A
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck {{ruff_codecheck_result}} {{ruff_codecheck_link_text}}
issue关联检查 {{issue_linked_result}} {{issue_linked_link_text}}
pr size检查 {{pr_size_result}} {{pr_size_link_text}}
likedislike
OopenJiuwen-bot成员
9 天前 添加了label:ci-failed
Wal1etWal1et
9 天前 强制推送  1 个提交:9e5c2252-fix(manager): 补全manager侧接口的权限验证
OopenJiuwen-bot成员
9 天前 删除了label:openJiuwen-cla/yes
OopenJiuwen-bot成员
9 天前 添加了label:openJiuwen-cla/yes
OopenJiuwen-bot成员
9 天前 删除了label:ci-failed
openJiuwen-bot成员
9 天前 评论:
任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
禁用词扫描 ✅SUCCESS 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 N/A N/A
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck {{ruff_codecheck_result}} {{ruff_codecheck_link_text}}
issue关联检查 {{issue_linked_result}} {{issue_linked_link_text}}
pr size检查 {{pr_size_result}} {{pr_size_link_text}}
likedislike
OopenJiuwen-bot成员
9 天前 添加了label:ci-failed
Wal1etWal1et
9 天前 强制推送  1 个提交:853edee4-fix(manager): 补全manager侧接口的权限验证
OopenJiuwen-bot成员
9 天前 删除了label:openJiuwen-cla/yes
OopenJiuwen-bot成员
9 天前 添加了label:openJiuwen-cla/yes
OopenJiuwen-bot成员
9 天前 删除了label:ci-failed
openJiuwen-bot成员
9 天前 评论:
任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
禁用词扫描 ✅SUCCESS 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 N/A N/A
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck {{ruff_codecheck_result}} {{ruff_codecheck_link_text}}
issue关联检查 {{issue_linked_result}} {{issue_linked_link_text}}
pr size检查 {{pr_size_result}} {{pr_size_link_text}}
likedislike
OopenJiuwen-bot成员
9 天前 添加了label:ci-failed
Wal1etWal1et
9 天前 强制推送  1 个提交:37c5b951-fix(manager): 补全manager侧接口的权限验证
OopenJiuwen-bot成员
9 天前 删除了label:openJiuwen-cla/yes
OopenJiuwen-bot成员
9 天前 添加了label:openJiuwen-cla/yes
openJiuwen-bot成员
9 天前 评论:

CLA 签署成功

u010240195, 感谢您的代码贡献。 所有的代码贡献者都已完成了 CLA 签署。 👍

likedislike
OopenJiuwen-bot成员
9 天前 删除了label:ci-failed
openJiuwen-bot成员
9 天前 评论:
任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 ✅SUCCESS 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 N/A N/A
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck {{ruff_codecheck_result}} {{ruff_codecheck_link_text}}
issue关联检查 {{issue_linked_result}} {{issue_linked_link_text}}
pr size检查 {{pr_size_result}} {{pr_size_link_text}}
likedislike
OopenJiuwen-bot成员
9 天前 添加了label:ci-successful
张雅晴张雅晴成员
9 天前 合入了pull request
OopenJiuwen-bot成员
9 天前 删除了label:ci-successful