使用Play Integrity API时Firebase短信认证出现missing-client-identifier错误
关于Firebase短信认证切换到Integrity API后出现
missing client identifier错误的问题 使用Firebase短信认证进行注册/登录时,认证流程总会触发reCAPTCHA验证,返回应用后抛出missing client identifier错误。此前使用设备验证/Safety Net API时一切正常,问题始于更新pubspec中的Firebase依赖后(当前依赖:firebase_core: ^2.10.0、firebase_auth: ^4.4.2),即使降级到firebase_core: 2.8.0、firebase_auth: 4.2.10也无法解决。
已完成的排查步骤:
- 重新按照Firebase Flutter短信认证官方文档步骤配置
- 确认Play Store Integrity API页面关联了正确的Google Cloud项目
- 在Firebase控制台的应用签名页面配置了正确的
SHA-1密钥(用于App Bundle构建) - 在Firebase控制台注册了应用签名页面正确的
SHA-256证书指纹 - 在Firebase控制台“AppCheck”菜单中注册了正确的应用(可能无关)
- 检查Integrity API管理页面的“Credentials”确保配置完整
- 尝试在Android Gradle文件中硬编码最新Firebase BOM,无效
- 在Android Gradle文件中硬编码21.1.0版本的Android Firebase Auth库,无效
- 测试时确保Android API密钥未限制任何API
- 确保设备已安装Chrome浏览器
- 将Android Gradle文件中的
androidx.browser:browser依赖降级到1.3.0,无效 - 确认
google-services.json已更新到最新版本
请问我是否遗漏了关键排查步骤?有没有开发者切换到Integrity API后遇到过类似问题并成功解决?另外,为何相同配置在启用Device Verification API时正常,禁用后就出现该错误?
内容的提问来源于stack exchange,提问作者luckyhandler
相关产品推荐
相关产品推荐

