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

19 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 文档生成器。