Firebase手机验证码认证出现APP_NOT_VERIFIED错误的原因是什么?
Firebase 手机号认证
APP_NOT_VERIFIED 错误排查指南 核心触发原因
该错误本质是Firebase对应用的合法性校验不通过,常见触发场景如下:
- 应用签名 mismatch:Firebase控制台登记的SHA-1、SHA-256签名与实际运行的应用签名不一致,多出现于多环境(测试/生产/渠道包)混用同一Firebase项目、多协作方未同步更新签名信息的场景,只会在安装了对应签名包的设备上触发
- SafetyNet 校验失败:Android设备未安装Google Play服务、Play服务版本过低、设备已root/刷入自定义ROM、开启调试模式等情况,都会导致SafetyNet attestation校验失败,触发该错误
- reCAPTCHA 回退校验失效:当SafetyNet校验失败时,Firebase会自动切换到reCAPTCHA校验,若此时应用配置的域名白名单不匹配、Web SDK配置错误、设备网络无法访问Google reCAPTCHA服务,会直接返回该错误
- 测试规则限制:若开启了Firebase手机号认证的测试白名单、或强制启用reCAPTCHA校验,测试设备未通过人机校验时也会触发该错误
分步排查方案
- 签名校验:提取故障设备安装包的SHA-1、SHA-256值,与Firebase控制台「项目设置」-「应用管理」板块下登记的签名信息逐一比对,确保所有分发渠道的包签名均已录入
- 运行环境校验:确认故障设备已安装最新版Google Play服务,且Play服务未被权限管理工具限制网络、后台运行权限
- 回退逻辑校验:检查Firebase控制台登记的应用包名、授权域名、iOS端URL Scheme配置是否与当前运行应用完全一致,无需单独申请reCAPTCHA密钥,Firebase会自动生成关联配置
- 测试环境验证:可在测试阶段临时开启「手机号认证」设置中的「跳过应用验证」规则,录入测试手机号和固定验证码,排除校验逻辑本身的问题
内容的提问来源于stack exchange,提问作者Adakhan Aziz
相关产品推荐
相关产品推荐

