zizi 23decfefaf feat(passport): staging 限定免真实短信验证登录——内测解锁(profile 门控·生产不受影响)
创始人:「allow login and registration without SMS verification for now」。staging 未接真实
短信网关,随机码外人无从得知→创始人人测/e2e UI 走查均无法登录。

实现(信任边界=后端服务层 PassportServiceImpl,profile/配置级门控):
- 新增 @Value sms-mock-enabled(缺省 false)+ sms-mock-code(缺省 8888)
- sendSmsCode:开关开→mock 受理成功(不依赖真实网关)
- smsLogin:开关开 ∧ 提交码==固定码 才跳过 system_sms_code 校验,否则真实校验(双条件,非无脑放行)
- 仅 application-staging.yaml 置 true;生产/dev/local 不配→@Value 缺省 false→真实短信校验绝不削弱
- log 经 DesensitizedUtil 脱敏手机号;安全注记三处冗余(Javadoc/行内+log.warn/yaml)

⚠ 公网上线前必须关闭(=实名/短信网关日历闸门):开启=任何人凭 8888 登录任意号,绝不可进生产。
编译 BUILD SUCCESS + 20/20 单测(含 5 新增,2 个"开关关→生产不受影响"反证)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:40:06 +00:00
Description
No description provided
240 MiB
Languages
Java 38.3%
JavaScript 28.5%
Python 19.4%
Vue 6.2%
TypeScript 3.8%
Other 3.7%