2.1 KiB
2.1 KiB
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 文档生成器。