realname-admin-config
[target] clone=h8 base=http://localhost:20098
[baseline] {"provider":"mock","limit":"5","creds":"cloudauth_ak_id=0B cloudauth_ak_secret=0B cloudauth_scene_id=0B mobile2meta_ak_id=24B mobile2meta_ak_secret=85B"}
PASS 管理员会话已建立(Admin 页可达)
=== ① 管理端配置页 ===
PASS 配置页有「核验服务商」下拉
PASS 配置页有「每日核验上限」
PASS 配置页有手机号二要素 AccessKey ID
PASS 配置页有手机号二要素 AccessKey Secret
PASS 配置页不再有已弃用的 AccessKey ID 输入框
PASS 配置页不再有已弃用的 AccessKey Secret 输入框
PASS 配置页不再有已弃用的 SceneId 输入框
PASS 守卫:<script> 剥离确实生效
PASS 配置页可见文字里不再出现「活体检测·已弃用」相关说明
PASS 配置页有「测试连接」按钮
PASS ① 已下架的 aliyun 不在下拉里(当前值不是它)
PASS 在售的 aliyun_mobile2meta 在下拉里
PASS 下拉里有 mock(FF_DEBUG_MODE 下才注册)
PASS 页面写明「留空不等于放行 AI 下单」
PASS realname_provider 落库 = aliyun
PASS realname_daily_limit 落库 = 7
PASS ak_id is_secret=0(明文,永不掩码)
PASS scene_id is_secret=0(明文,永不掩码)
PASS ak_secret is_secret=1(加密)
PASS ak_id 明文原样入库
PASS scene_id 明文原样入库
PASS ak_secret 不是明文入库
PASS ak_secret 密文长于明文(信封开销)
PASS ak_id 回显明文
PASS ak_secret 回显掩码 ******ABCD
PASS 🔴 页面 HTML 里不出现 ak_secret 明文
PASS ② 当前值是 aliyun 时它必须回到下拉里并被选中
PASS ② 且标着「已弃用」(不是当成正常选项列出来)
PASS 掩码原样回存 → 密文逐字节不变(守卫命中)
PASS jnc_sys_log 有 config_realname_edit(246 条)
PASS 🔴 审计日志里不落 ak_secret 明文
PASS 未知服务商被拒(出错误提示)
PASS 被拒后 provider 未变
PASS 🔴 被拒后【同一表单里的其它字段也没写进去】(整表单不保存)
PASS 非正整数上限被拒
PASS 被拒后 daily_limit 未变
PASS 被拒后 ak_id 未被连带写入
=== ② 测试连接(错凭据,不计费) ===
[upstream] 261ms {"status":1,"info":"0","data":"\u5b9e\u540d\u6838\u9a8c\u670d\u52a1\u51ed\u8bc1\u88ab\u62d2\uff0c\u8bf7\u8054\u7cfb\u5ba2\u670d\uff08auth \/ InvalidAccessKeyId.NotFound\uff09"}
PASS 测试连接返回可解析的 JSON
PASS 错凭据 → info=0(失败)
PASS 🔴 带回阿里云的 Code 枚举串(证明真出站 + 请求被上游解析)
PASS 拒因是「AK 不存在」
PASS 错误码归一化为 auth
PASS 🔴 响应体不含 RequestId(没有回吐上游 body)
PASS 🔴 响应体不含上游 Message 原文
PASS 测试连接写了审计日志
PASS 🔴 测试连接日志里不落 AK/secret
PASS 测试连接日志记录了目标 host
=== ③ fail-closed:provider 配了但凭据缺 ===
PASS 凭据齐全时实名页给出核验入口 #startBtn(态 5,不是占位死路)
PASS 🔴 provider=aliyun 时才加载阿里云 JS SDK(采 MetaInfo 的唯一途径)
PASS 模板拿到 rn_needs_metainfo=1
PASS 从态 5 页面取到 CSRF token
PASS ak_secret 已清空(构造"配了一半")
PASS 实名页渲染「暂不可用」(态 3)
PASS 给出的原因是「尚未开通」(not_configured 的人话)
PASS 🔴 未开通时不加载任何第三方 JS SDK
PASS 不给核验入口 #startBtn(fail-closed);🔴 此前按文案断言是恒真的假绿
PASS Verify/init 被拒
PASS init 拒因是 not_configured(而不是被 CSRF/同意门顺手挡掉的泛化错误)
PASS 🔴 被拒的 init 没有新增流水行(没到计费点就返回了)
PASS ajaxCheckNeedsAuth 可达(请求确实被处理了)
PASS 🔴🔴 服务商未配好时 AI 单【仍然被拦】(能力判定没有接进合规判定)
=== 还原 ===
PASS 🔴 配置已【逐字节】还原到跑之前
PASS _AI_ 标记已翻回
==== PASS 64 / FAIL 0 ====