flutter - Firebase 电子邮件验证 Flutter
问题描述
我有这段代码要注册:
Future<String> signUp({String email, String password}) async {
try{
await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
return "Signed up";
} on FirebaseAuthException catch(e){
print("no se puede crear");
return e.message;
}
}
我需要实现来自 firebase 的验证邮件,这已经被问了很多,我在研究时想出了这个,有些代码已被弃用,我很难找到指导:
Future<String> signUp({String email, String password}) async {
FirebaseUser user = await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
try {
await user.sendEmailVerification();
return user.uid;
} catch (e) {
print("An error occured while trying to send email verification");
print(e.message);
}
}
}
但无法弄清楚如何实现它,因为它抛出:
不能将“UserCredential”类型的值分配给“FirebaseUser”类型的变量。
解决方案
createUserWithEmailAndPassword不返回 FirebaseUser 对象。正如您从链接的 API 文档中看到的那样,它产生了一个UserCrediental对象。这就是错误消息试图告诉您的内容 - 您不能将 UserCredential 分配给 FirebaseUser 类型的变量。
如果您想从 UserCredential 中获取 FirebaseUser 对象,您可以简单地使用它的user属性。
UserCredential credential = await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
FirebaseUser user = credential.user;
推荐阅读
- mysql - 如何在django rest框架中每小时编写cron文件以将本地文件上传到s3存储桶中
- bluetooth-lowenergy - 蓝牙5.1精确定位的原理是什么
- php - PHP从base64下载文件,没有BOM
- react-native - 如何在反应导航中自定义 tabBarComponent 的样式
- docker - 一个容器里面可以有其他容器吗?
- wordpress - 将 ACF 日期与今天的日期进行比较
- c# - 无法在 dot net core 应用程序中调用外部 API(POST 方法)
- java - Retrofit2 不发送 POST 数据
- r - 使用 gsub 替换字符串并跟随 n 个单词
- git - Git推送强制更新分支