|
|
@@ -13,12 +13,26 @@
|
|
|
- 审计记录:`BzYNAUJEYF`。
|
|
|
- 批次:`teacher-password-reset-20261020-d5b8848d-6351-4cbf-a939-34a5f7491426`。
|
|
|
|
|
|
-## 手机号和身份待核对事项
|
|
|
+## 首轮手机号和身份核对事项
|
|
|
|
|
|
161 个老师账号具有未与其他账号共用的手机号;另 7 个账号中,1 个手机号缺失、6 个与其他账号共用。未猜测手机号或改动其他账号的绑定,已请求用户补充正确的唯一手机号。异常账号仍保留原账号登录方式。
|
|
|
|
|
|
另有 12 个名称带“陪练”的账号为 `identityType=unknown`,已向用户单独询问是否纳入;已有身份冲突的账号仍待核对,不按名称直接改动身份或凭据。
|
|
|
|
|
|
+## 用户确认后的补充处理
|
|
|
+
|
|
|
+用户在同一聊天中补充手机号,明确要求删除两个账号,并确认将上述 12 个账号纳入密码重置。以下补充处理已完成,首轮的 7 个手机号异常和 12 个重置待确认项均已处理。
|
|
|
+
|
|
|
+- 对 5 个指定老师账号绑定用户提供的唯一手机号,同时更新 `mobile`、`phone` 和 `legacyUserData.Mobile`,保留原登录账号。
|
|
|
+- 其中一个最初指定的号码已被会员用作登录账号;未覆盖该会员,经用户提供替代号码后完成绑定。
|
|
|
+- 对两个明确指定的账号执行软删除并停用,撤销登录会话。原有 7 条预约和 1 条上课记录完整保留,未物理删除用户或教学记录。
|
|
|
+- 另外 12 个账号的密码全部重置为本次指定值,凭据版本增加 1、旧密码回退关闭、无需强制改密;2 个启用、10 个停用的状态保持原样,身份字段保持原样。
|
|
|
+- 操作前再次读取生产数据并保存私有备份,检查手机号占用和同步租约;手机号绑定及删除在事务中锁定目标账号并校验更新时间,密码重置携带预期凭据版本。
|
|
|
+- 回读确认其他账号未改变,12 个原会话已撤销。首批补充审计记录为 `vfmX51pRFi`,替代手机号绑定审计记录为 `UYSd5yGe6Q`。
|
|
|
+- 本轮实际登录 36 项通过:7 个启用账号分别使用原账号和手机号登录成功(共 14 次);10 个原停用账号的两种登录方式和两个已删除账号的原账号登录均被拒绝(共 22 次)。成功会话验证有效后退出。
|
|
|
+
|
|
|
+补充处理证据位于下述受保护目录的 `followup/` 子目录;手机号和目标账号明细不写入本仓库。已有身份冲突且未列入本次明确授权范围的账号未改动。
|
|
|
+
|
|
|
## 验证与交付边界
|
|
|
|
|
|
现网统一登录解析已支持老师原账号、绑定手机号及旧资料手机号,无须覆盖云函数或重发前端。此次操作只重置当前明确的老师账号,不改变以后新增老师的默认密码策略。
|
|
|
@@ -27,6 +41,6 @@
|
|
|
- `node --test scripts/tests/account-security.test.mjs`:8 项通过。
|
|
|
- 生产网关实际登录共 329 项通过:55 个启用老师的原账号登录成功、49 个启用老师的唯一手机号登录成功;225 次停用账号登录均按预期拒绝。成功登录均核验返回的老师 objectId、身份、无需强制改密标志及会话有效性,随后退出测试会话。
|
|
|
- 同一账号的两种登录方式按顺序验证,避免并发登录/退出干扰会话验收;未修改线上会话策略。
|
|
|
-- 7 个异常手机号未宣称绑定成功。实体手机及微信 WebView 未做端到端验收。
|
|
|
+- 首轮 7 个异常手机号的后续处理见上节;最终完成 5 个绑定、2 个账号删除。实体手机及微信 WebView 未做端到端验收。
|
|
|
|
|
|
受保护证据目录:`/Users/mac/.local/state/xiaoshu/cloud-releases/2026-10-20-teacher-auth/`。包括重置前后只读快照、分批进度、重置汇总和实际登录核验;不纳入 Git。
|