This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: 独立 IAM 草案:人类、机器与 AI Agent 的统一应用接入
|
title: 独立 IAM 草案:人类、机器与 AI Agent 的统一应用接入
|
||||||
status: draft
|
status: draft
|
||||||
last_reviewed: 2026-09-25
|
last_reviewed: 2026-09-27
|
||||||
last_verified: null
|
last_verified: null
|
||||||
sources:
|
sources:
|
||||||
- https://git.ddupan.top/panxiao81/iam-login/pulls/3
|
- https://git.ddupan.top/panxiao81/iam-login/pulls/3
|
||||||
@@ -198,15 +198,21 @@ Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插
|
|||||||
页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、
|
页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、
|
||||||
嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。
|
嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。
|
||||||
应用只保留真实登录流程;用于选型的演示入口、演示状态机与演示码已移除。
|
应用只保留真实登录流程;用于选型的演示入口、演示状态机与演示码已移除。
|
||||||
AD 密码因素与直接所属组查询在重构前已通过维护者浏览器验收;Spring Data LDAP 版本
|
AD 密码因素与直接所属组查询在重构前已通过维护者浏览器验收;此前 Spring Data LDAP 版本
|
||||||
已通过 JVM 与浏览器回归,真实人类复验待反馈。
|
已通过 JVM 与浏览器回归;Spring Security 重构后的真实人类复验仍待反馈。
|
||||||
密码成功后停在待 MFA 状态,不接受 Hydra challenge,也不替换现役入口。
|
密码成功后停在待 MFA 状态,不接受 Hydra challenge,也不替换现役入口。
|
||||||
界面方案的早期验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3);
|
界面方案的早期验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3);
|
||||||
当前实现与代码整理见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4),使用方式见
|
AD 接入见 [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)。
|
Spring Security 重构见 [PR #5](https://git.ddupan.top/panxiao81/iam-login/pulls/5),使用方式见
|
||||||
代码按 DDD 组织 `authentication` 限界上下文:领域层持有 `User`、`UserRepository` 和
|
[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/refactor/spring-security-login/docs/ad-login.md)。
|
||||||
`LoginTransaction`,应用层编排认证用例,AD 基础设施使用 Spring Data LDAP 实现用户仓储,
|
按维护者 2026-09-27 明确的边界,React 只替换 Spring Security 默认登录前端。
|
||||||
Web 层仅处理 HTTP、会话与页面转换。按维护者选择,仓储复用本次用户 bind 的连接,
|
认证、因素状态、SecurityContext、会话轮换与退出由 Spring Security 管理,不再维护
|
||||||
|
自建 `LoginTransaction` 状态机。密码通过可以保存仅含密码因素的认证结果,但不能
|
||||||
|
据此接受 Hydra challenge;MFA 未实现期间,其余应用入口仍拒绝访问。
|
||||||
|
|
||||||
|
代码按 DDD 组织 `authentication` 限界上下文:领域层持有 `User`、`UserRepository`,
|
||||||
|
应用层编排目录密码验证和用户查询,AD 基础设施使用 Spring Data LDAP 实现用户仓储,
|
||||||
|
Security Provider 将结果接入框架,Web 层只渲染页面。仓储复用本次用户 bind 的连接,
|
||||||
查询完成即关闭,不增加独立读取账号,也不把密码或连接保存在浏览器会话中。
|
查询完成即关闭,不增加独立读取账号,也不把密码或连接保存在浏览器会话中。
|
||||||
后续机器 API 独立设计。
|
后续机器 API 独立设计。
|
||||||
|
|
||||||
|
|||||||
+9
-4
@@ -2,7 +2,7 @@
|
|||||||
title: Hydra 与 OIDC 上游适配器
|
title: Hydra 与 OIDC 上游适配器
|
||||||
lifecycle: experimental
|
lifecycle: experimental
|
||||||
evidence: live-verified
|
evidence: live-verified
|
||||||
last_reviewed: 2026-09-25
|
last_reviewed: 2026-09-27
|
||||||
last_verified: 2026-09-25
|
last_verified: 2026-09-25
|
||||||
sources:
|
sources:
|
||||||
- https://git.ddupan.top/panxiao81/iam-login/pulls/2
|
- https://git.ddupan.top/panxiao81/iam-login/pulls/2
|
||||||
@@ -90,12 +90,17 @@ Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/1
|
|||||||
`iam-login` 的人类界面沿用内联上下文与原生表单,新增 AD 第一因素验收入口;
|
`iam-login` 的人类界面沿用内联上下文与原生表单,新增 AD 第一因素验收入口;
|
||||||
以用户身份 LDAPS bind,读取 objectGUID 和直接 `memberOf`,组名保持原样。
|
以用户身份 LDAPS bind,读取 objectGUID 和直接 `memberOf`,组名保持原样。
|
||||||
当前不展开嵌套组或主组,不能视为已完成与 Authelia 的有效组集合等价验证。
|
当前不展开嵌套组或主组,不能视为已完成与 Authelia 的有效组集合等价验证。
|
||||||
密码成功只进入待 MFA 事务;Gitea 仍使用上面已验收的 Go/Authelia 路径。
|
密码成功仅代表第一因素通过;Gitea 仍使用上面已验收的 Go/Authelia 路径。
|
||||||
|
按 2026-09-27 明确的实现边界,React 只替换 Spring Security 默认 UI,密码 POST、
|
||||||
|
因素状态和认证会话交由框架管理。待 MFA 页面要求近期密码因素,其他应用入口在
|
||||||
|
MFA 接入前拒绝访问。监控 Basic 认证与人类登录会话隔离。
|
||||||
|
|
||||||
本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。
|
本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。
|
||||||
2026-09-25 维护者已在 HTTPS 开发入口完成真实密码验证,成功进入待 MFA 页面,
|
2026-09-25 维护者已在 HTTPS 开发入口完成真实密码验证,成功进入待 MFA 页面,
|
||||||
并反馈目录标识、邮箱及六个直接所属组的查询结果。此人类验收只覆盖 AD 第一因素与
|
并反馈目录标识、邮箱及六个直接所属组的查询结果。此人类验收只覆盖 AD 第一因素与
|
||||||
属性读取,不包括 MFA 或 Hydra 登录。新增路径尚未跑 Native;日常迭代不要求每轮原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。
|
属性读取,不包括 MFA 或 Hydra 登录。新增路径尚未跑 Native;日常迭代不要求每轮原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。
|
||||||
实现见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4),
|
AD 接入见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4),
|
||||||
|
Spring Security 重构见 [PR #5](https://git.ddupan.top/panxiao81/iam-login/pulls/5);
|
||||||
|
2026-09-27 通过 18 项 JVM 测试和 1 项浏览器回归,新版本真实人类复验仍待反馈。
|
||||||
配置、边界与使用方式见
|
配置、边界与使用方式见
|
||||||
[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。
|
[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/refactor/spring-security-login/docs/ad-login.md)。
|
||||||
|
|||||||
Reference in New Issue
Block a user