From da0d9fff0183c6b593fff62441db50e85c11d2b7 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Fri, 25 Sep 2026 21:08:47 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E8=AE=B0=E5=BD=95=20AD=20=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E5=9B=A0=E7=B4=A0=E6=8E=A5=E5=85=A5=E8=BE=B9=E7=95=8C?= =?UTF-8?q?=E4=B8=8E=20JVM=20=E4=BC=98=E5=85=88=E9=AA=8C=E8=AF=81=E7=BA=A6?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- architecture/independent-iam-draft.md | 9 +++++++-- services/hydra.md | 13 +++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/architecture/independent-iam-draft.md b/architecture/independent-iam-draft.md index 5fffef0..8e678f9 100644 --- a/architecture/independent-iam-draft.md +++ b/architecture/independent-iam-draft.md @@ -180,6 +180,8 @@ Keycloak 有 Native 发行或完整原生兼容性。 Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插件。依赖存在不表示认证流程已实现;首次实现及 Native 验证由 [issue #1](https://git.ddupan.top/panxiao81/iam-login/issues/1) 跟踪。需在原生二进制上 验证 AD、MFA、Hydra、持久化及监控,实测资源成本;不能把编译成功等同完整验收。 +日常迭代以 JVM 测试为准,不再要求每轮 Native 编译;Native 留在阶段性验收时集中验证, +新增路径未经过原生测试时须明确记录。 首轮保持 AD 用户与组权威并直接映射组名。LDAP 与 MFA 绑定同一稳定主体;切换前需要 明确现役 issuer/sub 哈希主体到新主体的连续性映射。MFA 首先验证官方 WebAuthn 集成, @@ -195,9 +197,12 @@ Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插 页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、 嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。 -当前仅验证浏览器交互原型,不表示 AD、MFA 或 Hydra 登录链路已完成,也不替换现役入口。 +浏览器交互原型已经维护者体验认可。正在接入 AD 密码因素与直接所属组查询, +密码成功后停在待 MFA 状态,不接受 Hydra challenge,也不替换现役入口。 原型启动、实现与验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3) -及其浏览器流程文档;后续机器 API 独立设计。 +及其浏览器流程文档;AD 接入见 +[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。 +后续机器 API 独立设计。 ### 目录与 DNS 迁移 diff --git a/services/hydra.md b/services/hydra.md index 88848d5..acdc1bc 100644 --- a/services/hydra.md +++ b/services/hydra.md @@ -84,3 +84,16 @@ Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/1 依赖共享 PostgreSQL、OpenBao/ESO、Authelia、Envoy、Samba DNS 与 zot。独立于 Ayatori 不等于已完成共享基础设施之外的灾备;恢复需保留 Hydra 数据库和秘密。 回退时先撤 Gitea 新登录源,沿用旧 Authelia 入口,不删除用户或原有认证配置。 + +### 独立登录服务的 AD 接入 + +`iam-login` 的人类界面沿用内联上下文与原生表单,新增 AD 第一因素验收入口; +以用户身份 LDAPS bind,读取 objectGUID 和直接 `memberOf`,组名保持原样。 +当前不展开嵌套组或主组,不能视为已完成与 Authelia 的有效组集合等价验证。 +密码成功只进入待 MFA 事务;Gitea 仍使用上面已验收的 Go/Authelia 路径。 + +本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。 +人类密码和实际组结果仍待维护者验收,新增路径尚未跑 Native;日常迭代不要求每轮 +原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。 +配置、边界与使用方式见 +[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。 -- 2.54.0 From fc181ef8f6a88067e56c3373e5509c2c6f3b90e1 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Fri, 25 Sep 2026 21:09:43 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E5=85=B3=E8=81=94=20AD=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=20PR=20=E5=B9=B6=E5=90=8C=E6=AD=A5=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E8=B5=B0=20PR=20=E7=9A=84=E7=BA=A6=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 8 ++++---- services/hydra.md | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e5de5c..59728ce 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,10 +69,10 @@ accepted 不代表部署完成,implemented 必须附实现和验收依据。 无需每次修改都更新首页、所有服务页或整个来源索引。 原仓库 README 同步按维护者要求暂缓,不阻塞 wiki 的维护。 -按维护者于 2026-09-25 的约定,纯文档变更检查通过后直接提交并推送 main,不另开 PR。 -含代码、配置或检查器行为变更时仍使用 PR;PR 使用 -[.gitea/PULL_REQUEST_TEMPLATE.md](.gitea/PULL_REQUEST_TEMPLATE.md),简述问题、最终变化、依据与验证。 -直接提交仍遵循相同的检查与证据规则,不跳过检查或覆盖 main 上的其他更新。 +按维护者最新约定,后续修改均新建分支并提交 PR,纯文档变更也适用;未经明确指示, +不直接推送 main、不自行合并。此约定取代此前纯文档直接推 main 的规则。 +PR 使用 [.gitea/PULL_REQUEST_TEMPLATE.md](.gitea/PULL_REQUEST_TEMPLATE.md), +简述问题、最终变化、依据与验证;不得跳过检查或覆盖其他工作区修改。 ## 本地与 CI 检查 diff --git a/services/hydra.md b/services/hydra.md index acdc1bc..ebc3597 100644 --- a/services/hydra.md +++ b/services/hydra.md @@ -95,5 +95,6 @@ Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/1 本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。 人类密码和实际组结果仍待维护者验收,新增路径尚未跑 Native;日常迭代不要求每轮 原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。 +实现见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4), 配置、边界与使用方式见 [iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。 -- 2.54.0 From 7e4da26f286ce11324fff3e3291a6d8e52f25651 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Fri, 25 Sep 2026 21:17:57 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E8=80=85=E5=B7=B2=E9=80=9A=E8=BF=87=20AD=20=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E5=9B=A0=E7=B4=A0=E4=B8=8E=E5=B1=9E=E6=80=A7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=AA=8C=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- architecture/independent-iam-draft.md | 2 +- services/hydra.md | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/architecture/independent-iam-draft.md b/architecture/independent-iam-draft.md index 8e678f9..cf0e2d4 100644 --- a/architecture/independent-iam-draft.md +++ b/architecture/independent-iam-draft.md @@ -197,7 +197,7 @@ Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插 页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、 嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。 -浏览器交互原型已经维护者体验认可。正在接入 AD 密码因素与直接所属组查询, +浏览器交互原型已经维护者体验认可。AD 密码因素与直接所属组查询已通过维护者浏览器验收, 密码成功后停在待 MFA 状态,不接受 Hydra challenge,也不替换现役入口。 原型启动、实现与验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3) 及其浏览器流程文档;AD 接入见 diff --git a/services/hydra.md b/services/hydra.md index ebc3597..29d1e82 100644 --- a/services/hydra.md +++ b/services/hydra.md @@ -93,8 +93,9 @@ Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/1 密码成功只进入待 MFA 事务;Gitea 仍使用上面已验收的 Go/Authelia 路径。 本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。 -人类密码和实际组结果仍待维护者验收,新增路径尚未跑 Native;日常迭代不要求每轮 -原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。 +2026-09-25 维护者已在 HTTPS 开发入口完成真实密码验证,成功进入待 MFA 页面, +并反馈目录标识、邮箱及六个直接所属组的查询结果。此人类验收只覆盖 AD 第一因素与 +属性读取,不包括 MFA 或 Hydra 登录。新增路径尚未跑 Native;日常迭代不要求每轮原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。 实现见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4), 配置、边界与使用方式见 [iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。 -- 2.54.0