oa-email-code-login 记录部署公网验证

这个提交包含在:
2026-05-27 08:07:35 +08:00
父节点 7f96cc0379
当前提交 76df8b6636
共修改 4 个文件,包含 112 行新增和 8 行删除
@@ -55,3 +55,31 @@
- Trellis governance 对历史任务 `05-26-oa-auth-layout-wecom-login-ux` 的 jsonl 仍保留 `docs/产品设计规则.md` context warning;这是已提交历史任务的上下文提醒,不影响本任务通过。
- 公网部署和 live smoke 需要本地提交后另行确认。
## Deployment And Public Smoke Log
- 用户已批准执行部署与公网验证。
- 部署前已完成远端备份:
- DB 备份:`hyb-oa-db-20260527_075800.dump`
- 文件存储备份:`hyb-oa-storage-20260527_075801.tar.gz`
- 远端环境配置副本:`hyb-oa-env-20260527_075800.env`
- 部署命令采用 `SYNC_ENV=0`,未覆盖远端 `.env`。
- 部署脚本已通过:
- 部署环境契约校验。
- Docker 前端 production build。
- Prisma migration deploy,已应用 `20260526211500_email_code_login`。
- Prisma migration status:schema up to date。
- `/ready`、external deps smoke、runtime smoke。
- 公网 live smoke:3 passed。
- 公网前端资源文案扫描:`findings=0`。
- 补充公网验证已通过:
- `check-live-smoke-env.mjs --strict`:public ready、企微 ready、live smoke 与 OCR 条件均 ready。
- 邮箱验证码公网后端探测:不存在账号请求验证码返回通用成功;伪造验证码校验被拒绝,未暴露账号存在性。
- 公网前端 focused E2E:登录页找回密码/PWA 输入保护、邮箱验证码登录、找回密码流程,3 passed。
- 公网企业微信入口 E2E:普通浏览器次级入口、企业微信场景主 CTA,2 passed。
- 公网登录页截图与溢出检查:PC 密码登录、PC 邮箱验证码、移动企微入口均通过。
- 视觉截图:
- `output/playwright/oa-email-code-login-live/desktop-password-login.png`
- `output/playwright/oa-email-code-login-live/desktop-email-code-login.png`
- `output/playwright/oa-email-code-login-live/mobile-wecom-login.png`
- 远端近期 server 日志摘要:近 5 分钟 error-like 行数为 0。
@@ -57,14 +57,14 @@
## Acceptance Criteria
- [ ] 普通浏览器登录页可切换密码登录和邮箱验证码登录。
- [ ] 邮箱验证码请求成功时显示通用提示,不暴露账号是否存在。
- [ ] 正确验证码可完成登录并进入原 redirect 目标。
- [ ] 错误、过期或已使用验证码不能登录,并有可理解错误提示。
- [ ] 企业微信 WebView 登录层级不回退,企微一键进入仍为主入口。
- [ ] 找回密码验证码和登录验证码数据、接口、审计语义隔离。
- [ ] 前端不持久化验证码、密码或 token。
- [ ] 后端单测、前端 typecheck/build、关键 E2E 和设计规则检查通过。
- [x] 普通浏览器登录页可切换密码登录和邮箱验证码登录。
- [x] 邮箱验证码请求成功时显示通用提示,不暴露账号是否存在。
- [x] 正确验证码可完成登录并进入原 redirect 目标。
- [x] 错误、过期或已使用验证码不能登录,并有可理解错误提示。
- [x] 企业微信 WebView 登录层级不回退,企微一键进入仍为主入口。
- [x] 找回密码验证码和登录验证码数据、接口、审计语义隔离。
- [x] 前端不持久化验证码、密码或 token。
- [x] 后端单测、前端 typecheck/build、关键 E2E 和设计规则检查通过。
## Definition of Done
@@ -85,6 +85,10 @@
- 不执行真实账号重置、真实业务写入或公网部署。
- 不改变密码找回流程。
## Post-Approval Scope Extension
- 用户后续明确批准部署和公网测试;已按 `SYNC_ENV=0` 执行公网部署,不覆盖远端 `.env`,并完成 live smoke、登录专项 E2E、邮箱验证码公网后端探测和视觉截图验证。
## Proposed Implementation
1. Backend schema: