javascript - 如何仅注册使用 Firebase javascript 中的电子邮件链接验证其电子邮件地址的用户?
问题描述
我正在使用 Vue,这是我的注册方法,它的作用是注册任何电子邮件 ID……这意味着它甚至会注册我不拥有的电子邮件 ID,例如“test@example.com”,因为没有电子邮件确认..
我已经在 Firebase 控制台中配置了电子邮件验证。现在我希望注册方法发送一封验证邮件,并且只有在他/她验证了电子邮件后才注册用户。
我应该如何修改我现有的代码?我很困惑。
import firebase from 'firebase'
export default {
name: 'signup',
data: function () {
return {
email: '',
password: ''
}
},
methods: {
signup: function (e) {
firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
.then(user => {
alert(`Account created for ${user.user.email}`)
this.$router.go({ path: this.$router.path })
},
err => {
alert(err.message)
})
e.preventDefault()
}
}
}
解决方案
发送验证电子邮件的标准方法是使用该sendEmailVerification()
方法。
因此,您将按如下方式调整您的代码:
methods: {
signup: function (e) {
firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
.then(userCredential => {
return userCredential.user.sendEmailVerification()
})
.then(function() {
alert(`Account created for ${userCredential.user.email}`)
this.$router.go({ path: this.$router.path })
})
.catch(err => {
alert(err.message)
})
e.preventDefault()
}
}
您将在文档中找到更多详细信息,特别是有关ActionCodeSettings
可以传递给方法的类型参数的详细信息。
另请注意,您可以在 Firebase 控制台中自定义电子邮件的内容。
推荐阅读
- kotlin - 使用 Kotlinx 将 onClick 添加到 Ktor 中的按钮
- c++ - Is it safe to access 'this' pointer from the second father as first father's pointer
- python - why isn't it being displayed properly?
- linux - www-data 用户无法发送邮件
- jquery - 隐藏和显示 div 元素无法正常工作
- python - 列表索引超出范围,我在 while 循环内的 if 块中遇到错误
- python - 如何从嵌套列表中删除换行符?
- python - Different slices give different inequalities for same elements
- python - fill space between graphs in Matplotlib
- java - How do I access a character greater than the length of a string by repeating the string in Java?