这是 DEV 夏季 Bug Smash 大赛的参赛作品。作者这次遇到的认证 bug 比上次「完全无法登录」更狡猾:大部分流程看起来完全健康——用户被批准、后台任务运行、邮件和短信都送达、Cognito 里也有这个用户,但当用户真的开始使用账号时,一切崩溃。认证体系相当庞大且经过长期演进,并非一个统一的 User Pool 处理所有事情:较旧的 Cognito User Pool 支持现有认证流程(包括移动端注册),而较新的 Pool 处理另一种让用户通过邮件接收 PIN 的流程,两者各有分工。
🔑 核心要点
认证 bug 的这次形态比上次更隐蔽,流程表面完全健康。
用户已批准、后台任务执行、邮件短信到达、Cognito 有用户,看似一切正常。
但当用户真正使用账号时,一切才崩溃。
系统拥有两个分工不同的 Cognito User Pool,分别服务旧流程与新的 PIN 邮件流程。