Author SHA1 Message Date
panxiao81 39768b2ace Merge pull request #171: 部署修复后的 Backstage 事件总线镜像
yaml / yaml (push) Successful in 19s
2026-09-29 16:31:37 +00:00
panxiao81 d5a191b7d7 deploy: upgrade fixed Backstage event bus image
yaml / yaml (pull_request) Successful in 14s
2026-09-29 16:31:22 +00:00
panxiao81 6b969b1c81 Merge pull request #170: 回退 Backstage externalAccess 配置错误镜像
yaml / yaml (push) Successful in 41s
2026-09-29 16:00:38 +00:00
panxiao81 fdad8ebc3d fix: rollback Backstage external access config
yaml / yaml (pull_request) Successful in 35s
2026-09-29 16:00:24 +00:00
panxiao81 5ea0e20897 Merge pull request #169: 升级 Backstage 事件总线镜像
yaml / yaml (push) Successful in 32s
2026-09-29 15:57:49 +00:00
panxiao81 37cbc51629 deploy: upgrade Backstage event bus image
yaml / yaml (pull_request) Successful in 18s
2026-09-29 15:57:24 +00:00
3 changed files with 9 additions and 42 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ spec:
type: RuntimeDefault type: RuntimeDefault
containers: containers:
- name: backstage - name: backstage
image: zot.ad.ddupan.top/panxiao81/backstage@sha256:e5a12550726f19a680bc7c40e2cc07cc624318f9279ee121814d293a006ef210 image: zot.ad.ddupan.top/panxiao81/backstage@sha256:008a3ccf832c9ee061ef03766022789a7539bd9d001a658af2e9f3ff59a9a5cc
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
- name: BACKSTAGE_BASE_URL - name: BACKSTAGE_BASE_URL
+6 -37
View File
@@ -1,45 +1,14 @@
# Hydra 与独立 IAM 登录接入 # Hydra 与 OIDC Login/Consent PoC
本目录提供独立 Hydra 签发服务。当前分支将实验性 Hydra 登录入口接至 Spring `iam-login` 本目录提供独立 Hydra 签发服务,以及一个薄的 **OIDC 上游适配器**。当前上游配置为
开发实例,由其执行 AD 密码、WebAuthn 和授权确认;不改变 issuer、Gitea 登录源或数据库。 Authelia;适配器不连接 LDAP,也不管理用户目录。Samba AD、密码和 MFA 继续由现有
旧 Go OIDC 适配器继续部署以便回退,Gitea 的直接 Authelia 登录源也保留。 Authelia 链路负责。第一轮只接入人类和 Gitea,不实现 agent 动态授权。
该配置需经 PR 合并与 Flux 应用后才生效;下面原有 Go/Authelia 说明保留为回退路径资料。
```text ```text
Gitea → Hydra → iam-login(Tailscale 开发实例)→ Samba AD + WebAuthn Gitea → Hydra → OIDC Login/Consent → Authelia → Samba AD
← OIDC ← 经验证的上游身份 ← OIDC callback
``` ```
## Spring 开发路径验收
源码版本:[iam-login 5f49a7c](https://git.ddupan.top/panxiao81/iam-login/commit/5f49a7c)。
开发 UI 是 `https://laptop.tail7e769.ts.net:18082`,已有 Passkey RP ID 保持不变。
Hydra 回调为 `/oauth2/start`、`/oauth2/consent`、`/oauth2/logout`;默认注销回到 `/signin`。
浏览器需要 Tailscale 连通性;开发服务暂由本地 JVM 容器运行,并非生产 Native 部署。
开发服务通过 `kubectl -n hydra port-forward --address 127.0.0.1 service/hydra-admin 18445:4445`
访问私有 Admin API。转发需在 Hydra 滚动更新后重连;验收运行器会循环重建该通道。
该通道与本地容器是临时验收依赖,必须保持运行;不修改 NetworkPolicy、
不新增 Admin HTTPRoute。临时运行配置与旧版回退备份仅保存在受限本地运行目录,不提交秘密。
验收前已只读核对目标 Gitea 账号的现有 Hydra 外部关联,并将旧 sub 显式绑定到 AD
稳定主体;不按邮箱重建关联、不修改 Gitea 账号或仓库权限。客户端管理仅允许有效 MFA 且
直接属于 AD Domain Admins 的用户;这是验收期明确指定的粗粒度管理组。
从 Gitea `/user/oauth2/hydra` 发起,应进入新密码/Passkey 页,确认授权后返回原账号,核对
仓库权限。当前 Gitea client 未登记 front/back-channel 或 post-logout 回调,不能声称 Gitea 会话会
随 IAM 注销。应用的注销协议兼容性需单独验收。旧 `authelia` 登录源始终保留。
开发配置关闭 Boot 默认 LDAP health indicator:它未配置目录连接,不对应同用户 bind 的
AD 仓储。总健康检查仍验证数据库,真实 AD 认证由本次人类登录验收,不将 readiness 当作
AD 凭据有效性的证明。
Hydra 的 login/consent URL 是全局配置,本次影响全部经 Hydra 的登录请求(当前接入 Gitea),
不影响直接走 Authelia 的应用。不要在无法访问 Tailscale 开发实例时合并此切换。
验收失败时 revert 本次回调变更,恢复旧 Go 的 `/login`、`/consent`;不删除客户端、签名密钥、
数据库、用户关联或 Passkey。最终 `auth.ddupan.top` 同源部署另开 PR,不在此次切换范围内。
## 原 Go/Authelia 路径与回退资料
目标入口: 目标入口:
- `https://hydra.ad.ddupan.top`:Hydra 公共 OAuth2/OIDC endpoint。 - `https://hydra.ad.ddupan.top`:Hydra 公共 OAuth2/OIDC endpoint。
+2 -4
View File
@@ -12,10 +12,8 @@ urls:
self: self:
issuer: https://hydra.ad.ddupan.top issuer: https://hydra.ad.ddupan.top
public: https://hydra.ad.ddupan.top public: https://hydra.ad.ddupan.top
login: https://laptop.tail7e769.ts.net:18082/oauth2/start login: https://hydra-login.ad.ddupan.top/login
consent: https://laptop.tail7e769.ts.net:18082/oauth2/consent consent: https://hydra-login.ad.ddupan.top/consent
logout: https://laptop.tail7e769.ts.net:18082/oauth2/logout
post_logout_redirect: https://laptop.tail7e769.ts.net:18082/signin
ttl: ttl:
access_token: 15m access_token: 15m
id_token: 15m id_token: 15m