Skip to content

fix(api): 修复独立模式接口鉴权与异常请求处理 - #172

Merged
PC2005-cloud merged 1 commit into
PC2005-cloud:mainfrom
LACANIA:fix/local-api-security
Oct 23, 2026
Merged

PC2005-cloud merged 1 commit into
PC2005-cloud:mainfrom
LACANIA:fix/local-api-security

Conversation

@LACANIA

@LACANIA LACANIA commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

独立模式在权限检查与业务路由中使用了不同的路径解码规则,编码后的聊天接口可以跳过令牌检查;独立应用仅按 Origin 区分桌面与网页请求,无法区分本地文件页面和同样产生 null 来源的沙盒网页。另外,应用入口解析异常地址时会产生未捕获异常。

本 PR 补齐这些接口检查,并保持桌面页面和托盘的正常调用:

  • 按业务路由的解码规则检查访问权限,聊天接口的编码形式同样需要令牌,非法编码返回 400。
  • 独立应用复用 Host 与令牌验证,主进程仅为指定本地页面的顶层框架、指定 API 地址附加凭证,子框架和外部地址不会获得凭证;跳转到其他地址时移除凭证。
  • 将应用路由提取为可测试模块,捕获异常地址与处理器错误,复用请求正文大小及读取时间限制。
  • 增加 7 项回归测试,覆盖编码路径、桌面凭证附加范围与应用请求异常处理。

修复提交的本地验证结果:

  • WSL / Node 24.11.0:npm test,1026 项通过,0 项失败。
  • npm run typecheck、npm run lint、npm run format:check、npm run bundle 全部通过,四个入口均构建成功。
  • Windows Electron 隔离浏览器测试:本地文件页面读写、媒体图片加载、托盘请求通过;沙盒子框架和沙盒网页无法取得接口权限,跨地址跳转未携带凭证。

本地测试使用虚构数据与临时服务,开发依赖复用现有安装;全新锁文件安装未单独验证。浏览器验证使用隔离页面与业务接口替身,未对公网网站的完整利用条件作出判断。

@PC2005-cloud

Copy link
Copy Markdown
Owner

感谢修复,鉴权这块的改动我看过没问题;不过仓库暂时不打算加这条 CI 流水线,麻烦把 check.yml 那一次提交去掉,其余改动我这边直接合并。

@LACANIA

LACANIA commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

好的,明白。我现在已经进行了修改

@LACANIA
LACANIA force-pushed the fix/local-api-security branch from 516eecc to 5cc2532 Compare October 23, 2026 02:34
@PC2005-cloud
PC2005-cloud merged commit a25a181 into PC2005-cloud:main Oct 23, 2026
@LACANIA LACANIA changed the title fix: 修复独立模式接口鉴权与异常请求处理 fix(api: 修复独立模式接口鉴权与异常请求处理 Oct 23, 2026
@LACANIA LACANIA changed the title fix(api: 修复独立模式接口鉴权与异常请求处理 fix(api): 修复独立模式接口鉴权与异常请求处理 Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants