gpt4 book ai didi

authentication - 即使有测试号码,Flutter firebase auth 电话认证也会失败

转载 作者:IT王子 更新时间:2023-10-29 06:51:43 25 4
gpt4 key购买 nike

我正在使用 firebase_auth 包在我的 flutter 应用中启用电话身份验证。我按照 firebase-flutter 教程设置了 firebase 项目和一个支持 android 的应用程序。

然后我按照 firebase_auth 示例代码创建了我的登录页面,但是我收到了示例中提供的示例编号/代码的以下错误

PlatformException(error, Cannot create PhoneAuthCredential without either verificationProof, sessionInfo, ortemprary proof., null)

当我尝试 verifyPhoneNumber 时,下面的文本小部件中会打印以下错误

Phone authentication failed: Network error

..我的网络一切正常。

最佳答案

在我的例子中,我在一个页面中验证并在另一个页面上登录。因此,我正在创建我的身份验证服务的两个实例,其中包含一个 FirebaseAuth.instance 对象我认为“FirebaseAuth.instance”不是单例,每次调用它时它都会返回不同的对象。

我的解决方案是让我的 AuthService 成为单例,以确保为“verifyPhoneNumber”和“signInWithPhoneNumber”调用一次“FirebaseAuth.instance”。

以下是代码,仅供引用,我正在使用上下文进行导航。

class AuthService {  
FirebaseAuth auth = FirebaseAuth.instance;

static AuthService _authService;
static AuthService of(context) {
if(_authService == null) _authService = AuthService(context);
else _authService.context = context;
return _authService;
}

BuildContext context;
AuthService(this.context);

// your code for "verifyPhoneNumber" and "signInWithPhoneNumber"......
}

更新1

另请注意,如果 verificationId 或 smsCode 为 null 或空,您将收到相同的错误消息。

关于authentication - 即使有测试号码,Flutter firebase auth 电话认证也会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com