From fee5bbccb39d030c0ecb359976cc71bd74700336 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Fri, 25 Sep 2026 19:46:00 +0000 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=20iam-login=20=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E4=BA=A4=E4=BA=92=E4=B8=8E=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BA=A4=E4=BB=98=E8=BE=B9=E7=95=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- architecture/independent-iam-draft.md | 14 ++++++++++++++ services/hydra.md | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/architecture/independent-iam-draft.md b/architecture/independent-iam-draft.md index 19d9854..5fffef0 100644 --- a/architecture/independent-iam-draft.md +++ b/architecture/independent-iam-draft.md @@ -4,6 +4,7 @@ status: draft last_reviewed: 2026-09-25 last_verified: null sources: + - https://git.ddupan.top/panxiao81/iam-login/pulls/3 - https://git.ddupan.top/panxiao81/iam-login/commit/9cf2d235dff0cd33f98012b0a114f14a8f9bfcda - 维护者于 2026-09-25 的架构讨论与草案记录要求 --- @@ -185,6 +186,19 @@ Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插 恢复与已有凭据迁移方式仍待实现。维护者接受必要时并存多个登录前端。 现役 Go/Authelia PoC 保留为已验收基线,尚未切换生产认证路径。 +### 人类浏览器登录界面 + +已确定先借鉴 Keycloakify 的交互方式:React + Vite 开发界面,Spring 在首个 HTML 响应中 +带齐当前步骤和必要上下文,浏览器渲染组件,默认用原生表单 POST,由服务端认证流程 +决定下一步页面或重定向。局部交互按需使用 JavaScript;后续根据实际体验决定哪些步骤 +使用 fetch,避免将整个认证流程都搬到客户端路由和状态机。 + +页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、 +嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。 +当前仅验证浏览器交互原型,不表示 AD、MFA 或 Hydra 登录链路已完成,也不替换现役入口。 +原型启动、实现与验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3) +及其浏览器流程文档;后续机器 API 独立设计。 + ### 目录与 DNS 迁移 人类同样使用这套独立 IAM。首轮由 iam-login 直接连接 Samba AD 验证密码、查询用户与组, diff --git a/services/hydra.md b/services/hydra.md index e238d37..88848d5 100644 --- a/services/hydra.md +++ b/services/hydra.md @@ -5,6 +5,7 @@ evidence: live-verified last_reviewed: 2026-09-25 last_verified: 2026-09-25 sources: + - https://git.ddupan.top/panxiao81/iam-login/pulls/2 - https://git.ddupan.top/panxiao81/iam-login/commit/9cf2d235dff0cd33f98012b0a114f14a8f9bfcda - https://git.ddupan.top/panxiao81/homelab-infra/pulls/142 - https://git.ddupan.top/panxiao81/homelab-infra/pulls/143 @@ -20,7 +21,8 @@ sources: 本服务独立于 Ayatori。现役 PoC 代码仍作为 homelab-infra 中的独立 Go module 保存。 下一阶段直接连接 AD 的 Java/Spring 登录服务已建立独立仓库 -[iam-login](https://git.ddupan.top/panxiao81/iam-login),目前仅生成 Spring Initializr 骨架, +[iam-login](https://git.ddupan.top/panxiao81/iam-login),已建立 Spring Native 构建验证基础,人类界面方向见 +[浏览器登录设计](../architecture/independent-iam-draft.md#人类浏览器登录界面), 尚未替换现役 Go/Authelia 链路。应用代码、测试与 Native 构建发布归新仓库,环境部署归 homelab-infra;首轮实现由 [issue #1](https://git.ddupan.top/panxiao81/iam-login/issues/1) 跟踪。 完整的多主体 IAM 仍是[草案](../architecture/independent-iam-draft.md);