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

Firebase电话验证报错[firebase_auth/invalid-verification-is]求解决方案

Firebase电话验证报错:invalid-verification-id 解决方法

已按照Firebase官方文档完成全部配置,在原生设备执行电话验证时触发错误,报错信息:

[firebase_auth/invalid-verification-is] The verification ID used to create the phone auth credential is invalid

发送验证码代码

await FirebaseAuth.instance.verifyPhoneNumber(
  phoneNumber: '+92$phone',
  timeout: const Duration(seconds: 60),
  verificationCompleted: (PhoneAuthCredential credential) {},
  verificationFailed: (FirebaseAuthException e) {},
  codeSent: (String verificationId, int? resendToken) {
    MyPhone.verify = verificationId;
    Navigator.pushNamed(context, 'otp');
  },
  codeAutoRetrievalTimeout: (String verificationId) {},
);

验证验证码代码

PhoneAuthCredential credential =
    PhoneAuthProvider.credential(
        verificationId: MyPhone.verify, smsCode: code);
await FirebaseAuth.instance
    .signInWithCredential(credential);

针对性解决步骤

  • 核对VerificationId一致性
    在codeSent回调中打印生成的verificationId,再在OTP验证页面打印MyPhone.verify,确认两者完全匹配,没有被意外修改、覆盖或包含空格等无效字符。

  • 处理超时场景
    当codeAutoRetrievalTimeout触发时,当前verificationId会失效。如果用户此时重新请求验证码,必须确保新生成的verificationId完全覆盖旧值,避免使用过期ID验证。

  • 校验手机号格式
    确认+92$phone严格符合E.164标准,无多余空格、括号,手机号位数完整。错误的格式可能导致生成的verificationId本身无效。

  • 检查配置与设备环境

    1. 确认Android的google-services.json、iOS的GoogleService-Info.plist配置正确,包名/bundle ID与Firebase控制台完全一致。
    2. 确保原生设备授予应用网络权限,网络不稳定可能导致verificationId未同步到Firebase服务器。
    3. 测试使用真实手机号,避免依赖模拟器(部分模拟器无法正常接收验证短信)。
  • 捕获详细错误日志
    在相关回调和验证逻辑中添加错误打印,定位具体问题:

    // 发送验证码时的错误捕获
    verificationFailed: (FirebaseAuthException e) {
      print('验证发起失败: ${e.message}');
    },
    // 验证时的错误捕获
    try {
      await FirebaseAuth.instance.signInWithCredential(credential);
    } on FirebaseAuthException catch (e) {
      print('验证码验证失败: ${e.message}');
    }
    

内容的提问来源于stack exchange,提问作者SHUAIB AHMED

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:30:48