如何解决Firebase,Flutter:我可以在signInWithCredential之前检查PhoneAuthCredential的有效性吗?
我想使用FirebaseAuth在Flutter项目中链接电话和电子邮件身份验证。
步骤如下:
auth = FirebaseAuth.instance;
-
获取用户的电话号码并使用auth.verifyPhoneNumber发送短信代码
-
获取用户输入的短信代码并发送给
PhoneAuthCredential credential = PhoneAuthProvider.credential( verificationId: verificationId,smsCode: smsCode,);
-
将“凭据”传递到电子邮件注册页面,并与authResult结合使用,如下所示:
final UserCredential authResult = await _auth .createUserWithEmailAndPassword(email: email,password: password); await authResult.user.linkWithCredential(phoneCredential);
问题是,我想在进入电子邮件注册页面之前检查用户的短信代码输入是否有效。我发现检查此问题的唯一方法是将此凭据放入auth.signInWithCredential(credential)
。但我想避免这种情况,因为其他页面会监听onAuthChanged,以便在发生任何登录或注销时它都能做出反应。
解决这个问题的最佳方法是什么?
谢谢。
解决方法
尝试改用 FirebaseUser.updatePhoneNumberCredential
,因为它不会触发 onAuthChanged
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。