You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase手机号OTP验证报错[firebase_auth/missing-client-identifier]求助

解决Firebase OTP验证 [firebase_auth/missing-client-identifier] 错误

以下是针对生产环境中该错误的具体修复步骤:

1. 补全SHA-256密钥配置

  • 除了已添加的SHA1,必须把发布版、调试版以及Play App Signing生成的SHA-256全部添加到Firebase项目设置的「应用签名」区域
  • 同步更新本地项目的google-services.json文件

2. 修复App Check与Play Integrity集成

  • 升级firebase_app_check依赖到稳定版本(当前^0.1.3过旧,建议升级到^0.2.0+,适配最新Play Integrity规则)
  • 确保App Check初始化在Firebase Core之后、任何Auth操作之前执行:
    await Firebase.initializeApp();
    await FirebaseAppCheck.instance.activate(
      androidProvider: AndroidProvider.playIntegrity,
      // 调试环境可临时用debugProvider,生产必须用playIntegrity
    );
    
  • 确认Play Console中已为应用启用「Play Integrity API」,且Firebase关联的Google Cloud账号拥有该API访问权限

3. 修正reCAPTCHA验证流程

  • 生产环境下,将reCAPTCHA v3密钥正确配置到Firebase Auth的「电话号码验证」设置中
  • 禁止在reCAPTCHA验证未完成时调用verifyPhoneNumber,必须等待验证完成后再触发:
    final recaptchaVerifier = RecaptchaVerifier(
      container: null,
      size: RecaptchaVerifierSize.compact,
      theme: RecaptchaVerifierTheme.light,
    );
    // 等待reCAPTCHA验证完成
    await recaptchaVerifier.verify();
    // 再执行手机号验证
    await FirebaseAuth.instance.verifyPhoneNumber(
      phoneNumber: phoneNumber,
      verificationCompleted: (PhoneAuthCredential credential) {},
      verificationFailed: (FirebaseAuthException e) {},
      codeSent: (String verificationId, int? resendToken) {},
      codeAutoRetrievalTimeout: (String verificationId) {},
      recaptchaVerifier: recaptchaVerifier,
    );
    

4. 调整Google API密钥限制

  • 不要将API密钥设为「无限制」,而是做精准限制:
    • 在Google Cloud控制台的API密钥页面,选择对应密钥,添加「应用限制」:选「Android应用」,填入应用包名和所有相关SHA-256
    • 添加「API限制」:勾选「Firebase Auth API」、「Play Integrity API」、「reCAPTCHA Enterprise API」(若用reCAPTCHA v3)

5. 核对生产环境签名一致性

  • 确认生产打包用的签名证书,与Firebase中配置的SHA密钥完全匹配
  • 若使用Play App Signing,必须用Play Console提供的「应用签名证书」SHA,而非本地上传证书的SHA

6. 升级依赖与Flutter版本

  • 升级Flutter到3.10+版本(当前3.7.12较旧,存在新Firebase依赖兼容性问题)
  • 同步Firebase依赖到兼容版本,推荐组合:
    firebase_core: ^2.15.0
    firebase_auth: ^4.10.0
    firebase_app_check: ^0.2.1
    firebase_messaging: ^14.6.0
    firebase_crashlytics: ^3.3.0
    

内容的提问来源于stack exchange,提问作者Ramzan ullah Tingku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:03:10