Files
opsx-vpn/docs/specs/SDD-006-oidc-domain-suggestion.md
T

2.5 KiB

SDD-006:复用公网域名填写认证入口

字段 内容
版本 / 级别 0.1 / S2
设计状态 已确定
实现状态 已实现,前端构建通过;线上交互待验证
日期 2026-10-22
关联需求 创建 OpenVPN OIDC 专线时自动引用已有 HTTPS 公网域名

1. 背景、目标与范围

OpenVPNOIDCGuide.vue 当前要求手填 oidc_base_url,已有 GET /api/tunnels/openvpn/oidc-readiness 返回 management_domain 和 https_management_ready。减少重复输入:仅在 HTTPS 已就绪、创建专线且字段为空时填入 https://<management_domain>;编辑既有专线及管理员手动地址不覆盖。此变更不提供 OIDC issuer,也不更改 Nginx 转发规则。

2. 需求与约束

  • FR-01:已有 HTTPS 管理入口时,创建向导自动填写认证入口根地址;编辑保持原配置。
  • FR-02:无有效 HTTPS 域名或旧后端不提供就绪信息时仍允许手动填写;用户手动更改后不覆盖。
  • NFR-01:显示清晰的状态,说明自动填写只是地址建议,现有管理 Nginx 尚未代理 OAuth2 路径,需先配置认证组件的 HTTPS 路由;不可显示为已连通。
  • NFR-02:发行者、Client ID/Secret 仍须来自实际 OIDC 提供方,不以管理域名推断 issuer。

3. 架构与契约

前端复用 readiness 的现有管理域名和 TLS 就绪字段,不增加服务端接口、数据字段或迁移;OIDC 配置仍存储实际字符串,不对其添加动态绑定语义。证书域名变化时已创建的专线需要管理员核对并更新回调配置。

4. 风险与验收

已签发管理证书不意味着 /oauth2/callback 已可达;页面持续显示未配置认证入口的告警,填充不代表可用。每条 OIDC 专线要求唯一入口,复用同域名仅适用于第一条;后续专线保持手动输入独立域名,已有后端冲突校验兜底。

验收 预期
新建且 HTTPS 已就绪 空地址自动填当前域名、显示“仅填写地址”的告警
编辑或已输入独立域名 不覆盖原值
无 HTTPS 或旧服务端 保持空地址并可手动编辑
发行者 不自动填写,不把管理站点误标成 OIDC issuer
检查 前端构建和后端相关单元测试通过;真实飞书/OIDC 登录仍待联调

5. 待决问题

同域认证入口的 Nginx 路由和自建身份服务均未实施。完成前不能将地址建议视为可用认证入口。