【问题标题】:Firebase: Observe email verification status in real timeFirebase:实时观察电子邮件验证状态
【发布时间】:2018-05-10 11:25:16
【问题描述】:
如果用户验证了他的电子邮件,我如何能够实时检查?
我的流程是这样的:
- 用户注册
- 已发送电子邮件
- 用户看到“请验证您的电子邮件”通知
现在我想:
- setInterval -> 检查电子邮件是否经过验证
- 如果已验证,则显示“电子邮件已验证”通知
为此,我需要一个从 firebase 获取用户数据的方法。
通常你只需使用 onAuthStateChanged 回调来获取用户数据,但我需要显式获取当前数据。
我该怎么做?
【问题讨论】:
标签:
firebase
firebase-authentication
【解决方案1】:
找到方法了!
firebase.auth().currentUser.reload()
将获取当前用户数据。所以我要做的就是:
this.checkForVerifiedInterval = setInterval(() => {
firebase.auth()
.currentUser
.reload()
.then(ok => {
if (firebase.auth().currentUser.emailVerified) {
this.props.history.push("/verification-email-verified")
window.Materialize.toast("Email verified.", 3000)
clearInterval(this.checkForVerifiedInterval)
}
})
}, 1000)