flatterfirebase电子邮件验证
在我的项目中,我想实现电子邮件验证。因此,在我的注册方法中,我写了以下内容:wait user.sendmailverification();返回user.uid;然后我在我的登录方法中写道:flatterfirebase电子邮件验证,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,在我的项目中,我想实现电子邮件验证。因此,在我的注册方法中,我写了以下内容:wait user.sendmailverification();返回user.uid;然后我在我的登录方法中写道: 如果(user.isEmailVerified)返回user.uid;返回null;但是现在在我的SignIn方法中,我通过ISEMail得到了错误,这是红色下划线。艾农知道怎么解决吗?请评论您的解决方案 这是我在SignUpScreen类中的注册方法 Future<String> signU
如果(user.isEmailVerified)返回user.uid;返回null;但是现在在我的SignIn方法中,我通过ISEMail得到了错误,这是红色下划线。艾农知道怎么解决吗?请评论您的解决方案 这是我在SignUpScreen类中的注册方法
Future<String> signUp() async {
if(_formKey.currentState.validate()){
setState(() {
isLoading = true;
});
_formKey.currentState.save();
try {
User user = (await FirebaseAuth.instance
.createUserWithEmailAndPassword(
email: emailEditingController.text, password: password1.text)).user;
await DatabaseService(uid: user.uid).updateUserData(
usernameEditingController.text, emailEditingController.text);
HelperFunction.saveUserLoggedInSharedPreference(false);
HelperFunction.saveUserNameSharedPreference("");
HelperFunction.saveUserEmailSharedPreference("");
Navigator.pushReplacement(context, MaterialPageRoute(
builder: (context) => LoadingBarForUserCreation()
));
await user.sendEmailVerification();
return user.uid;
} catch (e) {
print(e.message);
_showSettingPanelForEmail();
}
}
}
Future<String> signIn() async {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
setState(() {
});
try{
User user = (await FirebaseAuth.instance
.signInWithEmailAndPassword(
email: emailEditingController.text, password: password1.text)).user;
QuerySnapshot userInfoSnapshot =
await DatabaseService().getUserInfo(emailEditingController.text);
HelperFunction.saveUserLoggedInSharedPreference(true);
HelperFunction.saveUserNameSharedPreference(
userInfoSnapshot.docs[0].data()["Username"]);
HelperFunction.saveUserEmailSharedPreference(
userInfoSnapshot.docs[0].data()["Email"]);
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => LoadingBar()));
if (user.isEmailVerified) return user.uid;
return null;
}catch(e){
_showSettingPanel();
}
} else {
setState(() {
//show snackbar
});
}
}
Future signUp()异步{
if(_formKey.currentState.validate()){
设置状态(){
isLoading=true;
});
_formKey.currentState.save();
试一试{
User User=(等待FirebaseAuth.instance
.createUserWithEmailAndPassword(
电子邮件:emailEditingController.text,密码:password1.text)).user;
等待数据库服务(uid:user.uid)(
usernameEditingController.text,emailEditingController.text);
HelperFunction.SaveUserLoggedInSharedReference(false);
HelperFunction.saveUserNameSharedPreference(“”);
HelperFunction.SaveUserEmailSharedReference(“”);
Navigator.pushReplacement(上下文,materialpage路径(
生成器:(上下文)=>LoadingBarForUserCreation()
));
等待用户。sendEmailVerification();
返回user.uid;
}捕获(e){
打印(电子信息);
_showSettingPanelForEmail();
}
}
}
这是我在LogInScreen类中的SignIn方法
Future<String> signUp() async {
if(_formKey.currentState.validate()){
setState(() {
isLoading = true;
});
_formKey.currentState.save();
try {
User user = (await FirebaseAuth.instance
.createUserWithEmailAndPassword(
email: emailEditingController.text, password: password1.text)).user;
await DatabaseService(uid: user.uid).updateUserData(
usernameEditingController.text, emailEditingController.text);
HelperFunction.saveUserLoggedInSharedPreference(false);
HelperFunction.saveUserNameSharedPreference("");
HelperFunction.saveUserEmailSharedPreference("");
Navigator.pushReplacement(context, MaterialPageRoute(
builder: (context) => LoadingBarForUserCreation()
));
await user.sendEmailVerification();
return user.uid;
} catch (e) {
print(e.message);
_showSettingPanelForEmail();
}
}
}
Future<String> signIn() async {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
setState(() {
});
try{
User user = (await FirebaseAuth.instance
.signInWithEmailAndPassword(
email: emailEditingController.text, password: password1.text)).user;
QuerySnapshot userInfoSnapshot =
await DatabaseService().getUserInfo(emailEditingController.text);
HelperFunction.saveUserLoggedInSharedPreference(true);
HelperFunction.saveUserNameSharedPreference(
userInfoSnapshot.docs[0].data()["Username"]);
HelperFunction.saveUserEmailSharedPreference(
userInfoSnapshot.docs[0].data()["Email"]);
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => LoadingBar()));
if (user.isEmailVerified) return user.uid;
return null;
}catch(e){
_showSettingPanel();
}
} else {
setState(() {
//show snackbar
});
}
}
未来登录()异步{
if(_formKey.currentState.validate()){
_formKey.currentState.save();
设置状态(){
});
试一试{
User User=(等待FirebaseAuth.instance
.使用电子邮件和密码登录(
电子邮件:emailEditingController.text,密码:password1.text)).user;
QuerySnapshot用户信息快照=
等待DatabaseService().getUserInfo(emailEditingController.text);
HelperFunction.SaveUserLoggedInSharedReference(true);
HelperFunction.saveUserNameSharedPreference(
userInfoSnapshot.docs[0].data()[“Username”];
HelperFunction.SaveUserEmailSharedReference(
userInfoSnapshot.docs[0].data()[“Email”];
导航器。更换(
context,materialpage(builder:(context)=>LoadingBar());
如果(user.isEmailVerified)返回user.uid;
返回null;
}捕获(e){
_showSettingPanel();
}
}否则{
设置状态(){
//显示snackbar
});
}
}
您必须更改isEmailVerified by emailVerified:)