颤振中的firebase电话身份验证问题

Posted

技术标签:

【中文标题】颤振中的firebase电话身份验证问题【英文标题】:firebase phone authentication problem in flutter 【发布时间】:2020-06-06 12:58:06 【问题描述】:

我正在使用以下代码进行 Firebase 身份验证。

 void NavigateToOtp()
      //Navigate to another screen
    
    Future<void> verifyPhone() async 
      final PhoneCodeSent smsOTPSent = (String verId, [int forceCodeResend]) 
        this.verificationId = verId;
      ;
      try 
        await _auth.verifyPhoneNumber(
            phoneNumber: '+XX XXXXXXXXXX', // PHONE NUMBER TO SEND OTP
            codeAutoRetrievalTimeout: (String verId) 
              //Starts the phone number verification process for the given phone number.
              //Either sends an SMS with a 6 digit code to the phone number specified, or sign's the user in and [verificationCompleted] is called.
              this.verificationId = verId;
            ,
            codeSent:
            smsOTPSent, // WHEN CODE SENT THEN WE OPEN DIALOG TO ENTER OTP.
            timeout: const Duration(seconds: 20),
            verificationCompleted: (AuthCredential phoneAuthCredential) 
              print(_auth.currentUser());
              print(phoneAuthCredential);
              NavigateToOtp();

            ,
            verificationFailed: (AuthException exceptio) 
              print('$exceptio.message');
            );
       catch (e) 
        handleError(e);
      
    

    void sendOtp()
      verifyPhone();
    

但显示以下错误:

[FirebaseAuth: ] getGoogleApiForMethod() 返回 Gms: com.google.firebase.auth.api.internal.zzaq@847da6d

我正在使用 android 模拟器 Pixel API 29。

    在 Google 签名中添加了电话号码,并在 Firebase 控制台中启用了电话登录提供商 还创建了 SHA 密钥并在 .gradle 文件中添加了 google firebase 插件

我正在使用此代码:https://www.c-sharpcorner.com/article/otp-authentication-in-flutter-using-firebase/

【问题讨论】:

Added phone number in Google-sign ?您的意思是您在 Firebase 电话身份验证设置中添加了测试电话号码吗?真实的电话号码不适用于模拟器。希望您可以从文档中清楚地了解这一点。 是的,我确实在 Google 登录中添加了测试电话号码。但它不起作用 【参考方案1】:

在新的 Firebase 身份验证版本中,他们进行了重大更改,例如用于人工验证的 Recaptcha。它需要浏览器进行验证,因此,将以下依赖项添加到您的 build.gradle 文件中

implementation 'androidx.browser:browser:1.3.0'

这将有助于 firebase 打开浏览器进行 reCAPTCHA 验证。

【讨论】:

以上是关于颤振中的firebase电话身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

在颤振应用程序的firebase身份验证中合并两个uid

Firebase 身份验证 Flutter 中的电话号码

未处理的异常:[firebase_auth/unknown] null:使用颤振/firebase 进行电话身份验证时出错

IOS:Firebase 电话身份验证在试飞中突然停止工作

Firebase 电话身份验证 (Flutter) 在某些 iOS 设备中不起作用

在 Flutter 中使用 Firebase 电话身份验证超时后使 OTP 无效