Files
junhong_cmp_fiber/.scratch/ur37-wecom-approval-foundation/issues/01-wecom-connection-status-and-adapter.md
2026-07-22 16:58:26 +09:00

2.1 KiB
Raw Blame History

01 — 交付企微连接状态与安全 Adapter 闭环

What to build: 超级管理员可以查看企微连接、Token 获取和代理固定代提交成员是否就绪;企微 Token 与成员读取通过统一安全 Adapter 执行,每次真实外部尝试均可追踪,但任何接口、日志或审计都不会泄露 Secret、Token 或固定成员原始 userid

Blocked by: .scratch/tech-global-audit/issues/02-integration-log-attempt-loop.md — 02 — 交付可恢复的 Integration Log 尝试闭环

Status: ready-for-agent

架构通道: 主通道为 Infrastructure辅助通道为 Query。

完整业务边界: 本票收口企微部署配置、Access Token 缓存与并发刷新、成员可用性读取、连接状态投影和外部尝试记录。明确不建立审批状态机,不创建审批实例,不提供敏感配置在线编辑,也不迁移退款或充值逻辑。

  • 企微连接使用部署配置提供 CorpID、AgentID、AgentSecret、回调密钥、绑定回调地址、后台固定 Origin、代理固定代提交成员、请求超时和轮询间隔敏感值不进入通用配置表。
  • Access Token 使用 Redis 缓存TTL 为企微 expires_in 减 300 秒并通过有期限锁避免多进程并发刷新Redis 异常时不会把空值或过期值伪装为有效 Token。
  • 成员读取可以确认代理固定成员属于当前企业、已启用且在应用可见范围内,只向超级管理员返回就绪状态和显示名,不返回原始 userid
  • 连接状态接口仅允许超级管理员访问,返回配置就绪、最近连通、最近安全错误摘要、回调最近成功和 Token 最近获取时间,使用统一响应结构。
  • Token 和成员外部调用写 Integration Log记录操作、耗时、企微错误码和安全关联标识不记录令牌、密钥、完整响应或固定成员原始标识。
  • WeCom Adapter 契约测试覆盖 Token 获取、缓存命中、并发刷新、企微非零错误、超时、成员失效、Redis 锁恢复及敏感信息不泄漏;新增 Handler 同步路由、RouteSpec 和两个 OpenAPI 文档生成器。