账号外部身份源连续性审计
审计日期:2026-07-23。范围覆盖账号目录、外部身份详情、身份映射缺失、桌面侧栏和移动端底部侧栏。
结论
- 修复了本地接口 404 被伪装成“还没有客户账号”的异步状态错误。真实失败现在明确说明“这不是空目录”,保留筛选并提供原位重试。
DATA_MODE=mock且未启用 SQL 身份库时提供可操作的本地账号目录,覆盖本地账号、已连接 OneOS、缺少映射的 RuoYi 和停用账号;创建、编辑、批量预检/创建仍可在本地验证。- 目录新增本地/外部身份数量与“身份待关联”状态;身份源进入搜索范围,缺少映射不再被菜单或车辆就绪状态掩盖。
- 编辑器展示身份源、脱敏外部主体、映射状态与凭据归属。外部登录密码、锁定和多因素认证明确归属上游,本平台继续维护启停、菜单和车辆范围。
- 外部身份密码输入在前端只读,生产 SQL 路径与本地演示路径都以
EXTERNAL_IDENTITY_PASSWORD_READ_ONLY拒绝越界写入。
当前运行证据
- 基线桌面:目录错误被伪装为空目录
- 基线移动端:移动目录错误被伪装为空目录
- 改进桌面:真实账号目录与身份状态
- 改进桌面:OneOS 映射与凭据归属
- 改进桌面:RuoYi 映射缺失与处置说明
- 改进移动端:紧凑账号目录
- 改进移动端:外部身份详情
- 同屏对照:桌面前后对照 · 移动端前后对照
验证
- 1440 × 980:目录、已连接外部身份、缺失映射告警均通过真实浏览器检查。
- 390 × 844:目录单滚动、详情固定操作区和外部身份摘要通过真实浏览器检查。
- 语义:身份映射使用
status/alert;外部凭据输入为 disabled;目录条目无障碍名称包含身份源与映射状态;从目录打开后关闭详情会把焦点返回原账号按钮。 - 自动化:
UsersPage.test.tsx20 项通过;Web 生产构建通过;apps/api/internal/app测试通过。
已知边界
- 当前没有可写的上游身份适配器管理接口,因此缺失映射只能说明上游/适配器处置边界,不能在本平台直接补写外部主体。
- 外部身份真实同步延迟、重复主体冲突和上游停用回流仍需要生产身份源样本验证。
- 本轮完成语义 DOM、键盘焦点和禁用态验证,未执行 VoiceOver/NVDA 人工听读;由深链直接打开详情时没有原始触发按钮,关闭后焦点回到页面主体。