首页 > 解决方案 > Angular Firebase 用户电子邮件验证到另一封电子邮件

问题描述

我有一个网站只接受来自特定域的电子邮件,本例是大学域。如果用户想使用 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)))
    });
  }

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

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

标签: angulartypescriptfirebasefirebase-authenticationangular7

解决方案


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

但是,您可以做的是,在您询问他们的电子邮件的地方放置一个额外的注册流程页面,并告诉他们应该更换这个页面,以便注册到系统以获得完全访问权限。


推荐阅读