Javascript 如何在将电子邮件作为主要邮件之前对其进行验证(Firebase身份验证)

Javascript 如何在将电子邮件作为主要邮件之前对其进行验证(Firebase身份验证),javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,在firebase auth中,只有在我将用户的电子邮件作为登录的主要电子邮件之后,我才能验证该电子邮件。 我可以通过以下方式更改用户的电子邮件: var user = firebase.auth().currentUser; user.updateEmail("user@example.com").then(function() { // Update successful. }).catch(function(error) { // An error happened. });

在firebase auth中,只有在我将用户的电子邮件作为登录的主要电子邮件之后,我才能验证该电子邮件。 我可以通过以下方式更改用户的电子邮件:

var user = firebase.auth().currentUser;

user.updateEmail("user@example.com").then(function() {
  // Update successful.
}).catch(function(error) {
  // An error happened.
});
var user = firebase.auth().currentUser;

user.sendEmailVerification().then(function() {
  // Email sent.
}).catch(function(error) {
  // An error happened.
});
然后,我可以在设置为以下方式后验证电子邮件:

var user = firebase.auth().currentUser;

user.updateEmail("user@example.com").then(function() {
  // Update successful.
}).catch(function(error) {
  // An error happened.
});
var user = firebase.auth().currentUser;

user.sendEmailVerification().then(function() {
  // Email sent.
}).catch(function(error) {
  // An error happened.
});

我要做的是在将电子邮件设置为用户的主电子邮件之前验证电子邮件。

是的,只有在验证后,您才能更改电子邮件。API没有很好的文档记录。你可以通过电脑来做


这看起来是一个很棒的解决方案,但我每次都会遇到这样的错误:TypeError:firebase.auth(…).currentUser.verifyBeforeUpdateEmail不是一个函数,我相信我导入的是正确的,因为我能够获得currentUser,它似乎没有函数verifyBeforeUpdateEmail你使用的是最新版本的SDK吗?这是最近添加的。是的,就是它。更新至Firebase 7.14.2。非常棒的解决方案这甚至比我希望的要好。@bojeil生成电子邮件验证链接的文档()声明:“使用的电子邮件必须属于现有用户。”这似乎意味着我们不能在更新之前将生成的电子邮件验证链接与验证相结合。是这样吗?