无需使用signInWithEmailAndPassword,电子邮件的Firebase身份验证检查已存在

时间:2019-07-05 10:46:16

标签: firebase-authentication

我想检查Firebase身份验证服务器中是否已存在电子邮件,然后要求用户输入密码。

有一个众所周知的解决方案,它使用signInWithEmailAndPassword方法并取决于错误消息。但是在这种情况下,如果电子邮件不存在,它将创建一个帐户。我不想创建一个我只想知道电子​​邮件是否已经存在的帐户。

我是否应该为此目的使用云功能?我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用fetchSignInMethodsForEmail。这是一个使用JavaScript的示例:

firebase.auth().fetchSignInMethodsForEmail(email)
  .then((signInMethods) => {
    if (signInMethods.length) {
      // The email already exists in the Auth database. You can check the
      // sign-in methods associated with it by checking signInMethods array.
      // Show the option to sign in with that sign-in method.
    } else {
      // User does not exist. Ask user to sign up.
    }
  })
  .catch((error) => { 
    // Some error occurred.
  });