Angular Firebase用户电子邮件验证到另一封电子邮件

时间:2019-02-11 17:07:44

标签: angular typescript firebase firebase-authentication angular7

我有一个网站仅接受来自特定域(本例为大学域)的电子邮件。如果用户想使用facebook或google进行注册,则需要验证他们是否收到大学发出的电子邮件,但我找不到将验证电子邮件发送到大学电子邮件的方法。

我尝试过

SendVerificationEmailSocialMedial(email) {
    return this.afsAuth.auth.currentUser.sendEmailVerification(email)
    .catch((error) => {
      window.alert(error)
    })
  }

SendVerificationEmailSocialMedial(email) {
    return this.afsAuth.auth.email.sendEmailVerification()
    .catch((error) => {
      window.alert(error)
    })
  }

这是唯一有效的方法

SendVerificationEmailSocialMedial(email){
    return new Promise((resolve, reject) => {
      this.afsAuth.auth.currentUser.updateEmail(email)
        .then(userData => {
          this.SendVerificationMail();
        }).catch(err => console.log(reject(err)))
    });
  }

我更改了用户的电子邮件,但我不想更改它,只是为了验证电子邮件,因为用户收到包含更改的电子邮件

一种解决方案,但是我不知道是否可行,我会更改用户的电子邮件,发送验证,然后将其更改回原始用户电子邮件,如果可以的话那太棒了,但是我不确定那会工作的。

1 个答案:

答案 0 :(得分:0)

我怀疑这是不可能的,因为用户可能会使用他/她的facebook,据说该facebook未在uni电子邮件下注册。随即,用户使用此第三方电子邮件登录到Firebase-auth系统。由于Firebase仅会将其识别为官方电子邮件,而不进行任何更改,因此您只能将电子邮件发送到该特定电子邮件地址。

但是,您可以做的是,在您的电子邮件询问他们的电子邮件后,放一个附加的注册流程页面,并告诉他们应该将其替换,以便向系统注册以获得完全访问权限。