security: 移除硬编码微信小程序 appId/appSecret,改为只读配置+缺失即失败
- 后端不再兜底内置 appId/appSecret,缺失时 jscode2session/手机号/支付/内容审核等接口明确拒绝(fail-closed) - 建表种子改为空值;启动自愈由「写入占位值」改为「清空历史占位值」,杜绝误用非本小程序 appId(40037 根因) - 后台/引导文案去除具体 AppID;文档补充 WX_APP_ID/WX_APP_SECRET 说明 - 新增回归护栏 wechat-appid-config-hardening.spec.ts(87 套件/636 用例全绿);HTTP 冒烟 4/4 验证缺失即失败
这个提交包含在:
@@ -28,6 +28,11 @@ MYSQL_DATABASE=peiwan
|
||||
# 可选:跨域白名单(逗号分隔;默认仅同源可用,小程序/服务端调用不受影响)
|
||||
# CORS_ORIGINS=https://admin.example.com,https://h5.example.com
|
||||
|
||||
# 微信小程序凭证(无内置兜底值:不配则"微信登录换 openid / 内容审核 / 订阅消息 / 支付"相关接口直接拒绝)
|
||||
# 也可在后台「平台配置 → 微信支付商户配置」填写(后台优先于环境变量)
|
||||
# WX_APP_ID=wx****************
|
||||
# WX_APP_SECRET=<32位小程序 AppSecret>
|
||||
|
||||
# 可选:微信(若已在后台"微信支付配置"页填写,则无需在这里重复;后台配置优先)
|
||||
# WX_APP_ID=...
|
||||
# WX_APP_SECRET=...
|
||||
|
||||
在新工单中引用
屏蔽一个用户