Skip to content

feat(auth): 完成 M0A.5c password-only 切换#5

Draft
wangjk9527 wants to merge 4 commits into
cursor/m0a5b-tui-login-f252from
cursor/m0a5c-password-only-cutover-f252
Draft

feat(auth): 完成 M0A.5c password-only 切换#5
wangjk9527 wants to merge 4 commits into
cursor/m0a5b-tui-login-f252from
cursor/m0a5c-password-only-cutover-f252

Conversation

@wangjk9527

Copy link
Copy Markdown
Owner

Summary

基于 main reset 后重提原 M0A.5c(cc83a4b):删除 API / Web / Metadata / 测试中的 dev 身份旁路,原生部署默认 loopback,并加入 password-only 扫描门禁。

叠在:

  1. cursor/native-one-click-deployment-v2-f252(DataLink 外置一键部署)
  2. cursor/m0a5a-formal-auth-foundation-f252(M0A.5a)
  3. cursor/m0a5b-tui-login-f252(M0A.5b)

相对旧 tip 的适配:

  • 恢复 DATALINK_* 默认项与 smoke-builtin-datalink.mjs
  • 保留 5c 的 loopback 绑定 / assertNativeAuthPublicBaseUrl / assertNativeBindHosts
  • 去掉 DATAFOUNDRY_AUTH_MODE / Web NEXT_PUBLIC_DATAFOUNDRY_AUTH_MODE 与相关 UI 旁路
  • CI 增加 test:password-only

Test plan

  • npm run test:deploy(90 pass)
  • npm run test:auth-foundation(28 pass)
  • npm run test:password-only(5 pass)
  • npm run smoke:auth
  • npm run smoke:tui-auth-sharing
  • npm --workspace @datafoundry/tui test(96 pass)
  • npm run typecheck
  • npm run test:web(585 pass)
  • CI green

Notes

  • 向主仓开 PR 时 head:wangjk9527:cursor/m0a5c-password-only-cutover-f252
  • base:先用 cursor/m0a5b-tui-login-f252;底层合入后再改 base / rebase 到 main
Open in Web Open in Cursor 

wangjk9527 and others added 4 commits July 25, 2026 10:32
提供 deploy.sh 原生部署链路(configure/install/build/start/stop/doctor/tui),
仅托管 Web + API;补齐无内置 DataLink 的 npm start / stack-runner。
语义 Data Link 改为外置 MCP 对接,deploy 不安装、不启动、不作健康门槛。

基于 main reset 后重提原 datagallery-lab#82。

Co-authored-by: wing <wangjk9527@users.noreply.github.com>
实现 password 模式会话/CSRF/注册策略,并修复 HITL 事件桥、cookie Path
与缺失注册策略静默 open 等确定性缺陷。脚本侧统一正式认证客户端,并为
FORMAL_HTTP_AUTH_TARGETS 增加 node --check 语法门禁。

基于 main reset 后重提原 datagallery-lab#83,叠在 DataLink 外置的一键部署分支之上。

Co-authored-by: wing <wangjk9527@users.noreply.github.com>
接入正式认证登录/会话恢复,并按复审加固:
- 认证请求 redirect:manual,逐跳拒绝 HTTPS→HTTP 与跨 origin
- AbortController 覆盖完整 body 读取;session 隔离/重置与保存同锁,锁支持过期回收
- CSRF 403 若 jar token 已更新则直接重试;session-invalid 去重先于清理副作用

基于 main reset 后重提原 datagallery-lab#84,rebase 到 DataLink 外置 deploy + M0A.5a 栈上;
同步清理 TUI 指南中残留的离线 Demo 模式表述。

Co-authored-by: wing <wangjk9527@users.noreply.github.com>
删除 API/Web/Metadata/测试中的 dev 身份旁路,原生部署默认 loopback,并加入 password-only 扫描门禁。

基于 main reset 后重提原 M0A.5c,rebase 到 DataLink 外置 deploy + M0A.5a/5b 栈;
不恢复仓内 DataLink / smoke-builtin-datalink。

Co-authored-by: wing <wangjk9527@users.noreply.github.com>
@wangjk9527
wangjk9527 force-pushed the cursor/m0a5b-tui-login-f252 branch from 1ba3c88 to 62167a5 Compare July 26, 2026 08:11
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.

1 participant