feat: add account subscription authorization

This commit is contained in:
QiuSW
2026-07-21 16:38:52 +08:00
parent 64a3dfec1d
commit d9230b9688
11 changed files with 245 additions and 15 deletions
+7
View File
@@ -2117,3 +2117,10 @@
- 需求变更:保留软件会员订阅,取消卡密和固定电脑绑定。同一账号默认允许多台设备使用。
- 任务边界:授权只检查 API Key 对应用户的 `SoftwareEntitlement`;设备登记/心跳/调用关联仅作观测和风控,历史设备凭证与迁移记录保留只读,不删除、不再作为新授权依据。
- 发布策略:新增 `CMSHOPEE_SUBSCRIPTION_ENFORCEMENT=false`,先记录账号订阅影子结果;完成多设备与存量用户回归后,才在产品专属入口开启实际拒绝。
## 2026-07-21 完成:T-630 账号订阅授权与默认多设备模式
- 交付:蝦皮圈产品专属入口改为按 API Key 对应账号查询有效 `SoftwareEntitlement`;新增订阅状态接口;默认关闭强制校验并记录影子结果,开启 `CMSHOPEE_SUBSCRIPTION_ENFORCEMENT=true` 后无订阅/过期账号返回 403。
- 多设备:设备登记、设备会话、旧凭证和席位不再参与账号订阅授权;设备数据继续保留为可选观测,过期设备会话不会阻断有效订阅账号。
- 验证:目标 API 测试通过(无订阅状态、有效订阅状态、强制拒绝、多设备上下文),`manage.py check`、`compileall` 通过。测试环境仍提示 MySQL 不支持条件唯一约束的既有 warning。
- 下一步:T-621 继续留在 Backlog;按业务优先级拆分真实支付回调验收、客户端发布和生产观察任务。