我有一个网站仅接受来自特定域(本例为大学域)的电子邮件。如果用户想使用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)))
});
}
我更改了用户的电子邮件,但我不想更改它,只是为了验证电子邮件,因为用户收到包含更改的电子邮件
一种解决方案,但是我不知道是否可行,我会更改用户的电子邮件,发送验证,然后将其更改回原始用户电子邮件,如果可以的话那太棒了,但是我不确定那会工作的。
答案 0 :(得分:0)
我怀疑这是不可能的,因为用户可能会使用他/她的facebook,据说该facebook未在uni电子邮件下注册。随即,用户使用此第三方电子邮件登录到Firebase-auth系统。由于Firebase仅会将其识别为官方电子邮件,而不进行任何更改,因此您只能将电子邮件发送到该特定电子邮件地址。
但是,您可以做的是,在您的电子邮件询问他们的电子邮件后,放一个附加的注册流程页面,并告诉他们应该将其替换,以便向系统注册以获得完全访问权限。