Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
flatterfirebase电子邮件验证_Firebase_Flutter_Dart_Firebase Authentication - Fatal编程技术网

flatterfirebase电子邮件验证

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

在我的项目中,我想实现电子邮件验证。因此,在我的注册方法中,我写了以下内容:wait user.sendmailverification();返回user.uid;然后我在我的登录方法中写道:
如果(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:)