我是一个新的flutter,并使用firebase验证电话号码,但我无法验证。我浏览了它,但没有得到任何满意的解决办法。
我从StackOverflow实现了一些代码,但出现异常“Unhanded Exception:type”(FirebaseUser)=>Null'不是type Cast“中类型”(AuthCredential)=>Void“的子类型,因此无法捕获该异常。
signIn()async{
AuthCredential credential= PhoneAuthProvider.getCredential(
verificationId: verificationId,
smsCode: smsCode
);
await firebaseAuth.signInWithCredential(credential).then((user){
Navigator.of(context).pushReplacementNamed('/homepage');
print('signed in with phone number successful: user -> $user');
}).catchError((e){
print(e);
});
}
Future<void> verifyPhone()async{
final PhoneCodeAutoRetrievalTimeout autoRetrieval=(String verId){
this.verificationId=verId;
};
final PhoneCodeSent smsCodeSent=(String verId, [int forceCodeResend]){
this.verificationId=verId;
smsCodeDialog(context).then((value){
print("Signed in");
});
};
final PhoneVerificationCompleted verificationCompleted = (FirebaseUser user) {
print('verified');
} as PhoneVerificationCompleted;
final PhoneVerificationFailed verfifailed=(AuthException exception){
print("${exception.message}");
};
await firebaseAuth.verifyPhoneNumber(
phoneNumber: this.phoneNo,
codeAutoRetrievalTimeout: autoRetrieval,
codeSent: smsCodeSent,
timeout: const Duration(seconds: 10),
verificationCompleted: verificationCompleted,
verificationFailed: verfifailed
);
}
pubspec.yaml
name: babilok
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
page_transition:
firebase_auth:
dev_dependencies:
flutter_test:
sdk: flutter
uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets:
- assets/login_wheel.png
- assets/login_wheel1.png
- assets/forward_arrow.png
- assets/google_ads.png
- assets/wheel.png
- assets/red_cross.png
- assets/welcome_logo.png
- assets/money_bag.png
- assets/user.png
- assets/money_bag.png
- assets/up_gift_wheel.png
- assets/cross.png
- assets/icons/facebook_logo1.png
- assets/icons/twitter_logo1.png
- assets/icons/instagram_logo1.png
我在这里找到了stackOverflow的解决方案,
final PhoneVerificationCompleted verificationCompleted = (AuthCredential credential) {
print('verified');
};
我正在使用Firebase进行电话号码身份验证。我面临的问题是即时验证:在某些情况下,电话号码可以即时验证,而不需要发送或输入验证码。如何禁用或停止此进程。因为我可以使用电话号码验证与发送消息与代码,并在输入代码后验证电话号码。
重要的一点在这里: 当我运行这行(从VS代码运行iPhone模拟器)时,控制台上没有任何消息,调试会话结束,模拟器屏幕变为黑色,几秒钟后返回主屏幕。 我对所有这些都是新手,但我唯一的想法是:当我在控制台上打印时,我得到的是 闭包:({String phoneNumber,Duration timeout,int forceResendingToken,(AuthCredential)=>void
我目前使用phonenumbers包作为我的Django的UserCreationForm的电话号码字段的验证方法。在我当前的代码中,我使用get方法从其字段中检索电话号码,然后进行验证。如果输入的数字不存在,将弹出一个表单错误,并声明该数字不是一个国家的格式(在本例中,我使用的是新加坡)。请告诉我应该对我当前的代码做什么修改。 我希望输出验证phone字段中输入的电话号码,没有国家代码,只有8位
在我当前的项目中,我使用电子邮件ID注册用户,然后在个人资料部分,当用户更新电话号码时,我验证该电话号码 现在真正的痛苦是,我的用户可以使用电话号码或电子邮件ID登录,但对于电子邮件ID,用户必须输入密码 我希望用户使用电子邮件或带有密码的电话登录。就像Flipkart那样。 我有什么办法可以做到吗?
我遵循了Flatter fire文档来实现firebase phone auth。我在firebase_auth的早期版本中尝试了这一点,一切似乎都正常,但我启动了一个新的应用程序,并安装了最新版本的firebase_auth,每当我调用firebase verifyNumber方法时,我的应用程序都会显示以下日志: 我的应用程序崩溃的原因可能是什么? 注意: