gpt4 book ai didi

javascript - 重新加载当前用户不会在 Firebase 身份验证中刷新 emailVerified 状态

转载 作者:行者123 更新时间:2023-12-04 11:19:22 26 4
gpt4 key购买 nike

我一整天都在尝试解决这个问题,但无法让它发挥作用。我被激怒了,firebase 文档太乱了,太疯狂了..

所以我正在尝试在我的 React 应用程序上实现电子邮件验证。我没有使用文档,谷歌确实发送了电子邮件,我可以点击它,一切都很好。
但是,电子邮件验证状态根本没有改变,相信我,我已经浏览了所有的 stackoverflow 主题。

firebase.auth().doSignInWithEmailAndPassword(email, password)
.then(() => {
console.log(firebase.auth().currentUser);
firebase.auth().currentUser.reload()
.then(() => {
console.log(firebase.auth().currentUser);
})
})

所以我发现我需要重新加载用户才能看到应用的更改,但无论我做什么他们都不会工作。
两个控制台日志都返回 email.verified = false每时每刻。
我很绝望,有人知道如何使这项工作吗?
我想知道我将自定义域设置为验证链接是否与此有关?我正在本地主机上进行测试,链接正在链接到实时网站。
请帮忙 :(

最佳答案

您应该调用的方法是 signInWithEmailAndPassword ,所以删除函数调用中的“do”:

firebase.auth().signInWithEmailAndPassword(email, password)
.then((credential) => {
const currentUser = credential.user;
console.log(firebase.auth().currentUser);
firebase.auth().currentUser.reload()
.then(() => {
console.log(firebase.auth().currentUser);
})
}).catch((err) => {console.error("Problem with sign in ", err);}
使用 credential从此函数返回并分配其 user值为 currentUser验证用户是否已通过身份验证。
最后,记得添加 catch最后,每当您使用 then .在这种情况下, err将包含一个属性 err.code这将告诉您为什么无法对用户进行身份验证。

关于javascript - 重新加载当前用户不会在 Firebase 身份验证中刷新 emailVerified 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com