如何判断用户是否点击了使用jsx中的user.sendEmailVerification()发送的确认电子邮件

时间:2017-07-04 18:29:48

标签: reactjs firebase firebase-authentication react-jsx jsx

我有这个代码用于发送电子邮件, 但我不知道如何等待答案(如果确认与否) 因为无论是否确认,都会注册

  handleSubmit = (e) => {
e.preventDefault()
firebaseAuth().createUserWithEmailAndPassword(this.email.value, this.pw.value)
.then(function(user) {
    user.sendEmailVerification()
}).then(function () {
    alert("User signup success");
}).catch(function (error) {
  var errorCode = error.code;
  var errorMessage = error.message;
  if (errorCode === 'auth/wrong-password') {

          alert('Wrong password.');
      }
  else if(errorCode=='auth/email-already-in-use'){
    alert("esa cuenta de correo ya esta en uso");
  }
  else {
          alert(errorMessage);
        }
        console.log(error);
      });

}

1 个答案:

答案 0 :(得分:1)

我不太了解reactjs或fire base。但是,您需要做的是在发送电子邮件之前,在提交注册表单时为每个用户创建一个唯一的ID。在您发电子邮件中,如果用户需要注册到网站,您需要添加一个按钮(链接)以进行单击。该链接应使用您保存的ID重定向到您的网站 前 https://yoursite.com/signup-action?id=QSE$#@$WDVVDsfdsfew543

现在,当用户单击此按钮时,您可以从URL获取id并检查它是否在数据库中以及谁是用户,并且可以更新表以激活用户。这就是你知道用户点击了电子邮件的方式..然后要求用户登录