Firebase检查是否存在未注册用户的电子邮件-Flutter

时间:2020-06-20 20:18:06

标签: firebase flutter dart firebase-authentication

在扑朔迷离中,我想检查Firebase身份验证中是否存在用户的电子邮件,而无需注册用户。如果电子邮件确实存在,则它将显示另一种形式来告诉用户登录。否则,他们将转到一个问题页面,首先将其完成,然后再将用户注册到数据库。

我的代码调用firebase create用户方法

  void validateAndSubmit() async {
    setState(() {
      _errorMessage = "";
      _isLoading = true;
    });
    if (validateAndSave()) {
      String userId = "";
      try {
        userId = await widget.auth.signUp(_email, _password);
        print('Signed up user: $userId');

        setState(() {
          _isLoading = false;
        });
      } catch (e) {
        print('Error: $e');
        setState(() {
          Navigator.push(context,
              MaterialPageRoute(builder: (context) => QuestionsPage()));
          _isLoading = false;
          _errorMessage = e.message;
          _formKey.currentState.reset();
        });
      }
    }
  }

我的存储auth方法代码的文件

  Future<String> signUp(String email, String password) async {
    AuthResult result = await _firebaseAuth.createUserWithEmailAndPassword(
        email: email, password: password);
    FirebaseUser user = result.user;
    return user.uid;
  }

1 个答案:

答案 0 :(得分:0)

firebase身份验证库中不存在该选项。 但是我建议您在Firebase Firestore数据库中创建一个集合,并将所有电子邮件存储在该数据库中,并在需要时阅读该文件。