gpt4 book ai didi

javascript - Firebase 用户删除不起作用

转载 作者:行者123 更新时间:2023-11-28 13:14:38 24 4
gpt4 key购买 nike

我正在关注最新版本的 Firebase Google Web SDK。从登录到注册和注销,一切都正常。我想让用户删除自己的帐户并遵循 firebase.User 类的 API 引用。我还阅读了他们关于 managing users 的文档.

这是我使用的代码:

function deleteAccount () {
console.log('delete account!!')
const auth = firebase.auth()
console.log({auth})

auth.delete().then(function () {
console.log('delete successful?')
const user = firebase.auth().currentUser
console.log({user})
store.dispatch(forgetUser())
routerReset('GetStarted')
}).catch(function (error) {
console.log({error})
// An error happened.
})
}

函数delete似乎可以从firebase.Auth对象工作并解决 promise 。如果对 signOut 执行相同的操作,日志会显示一个 undefined object ,但是这里:

console.log({user}) // { user: Firebase.User object }

没有发出错误。

注意:这是一个 react native 应用程序。

最佳答案

您似乎缺少对 currentUser 的引用。

来自Firebase documentation on deleting a user :

You can delete a user account with the delete method. For example:

var user = firebase.auth().currentUser;

user.delete().then(function() {
// User deleted.
}, function(error) {
// An error happened.
});

Important: To delete a user, the user must have signed in recently. See Re-authenticate a user.

如上所述,您的代码未引用 currentUser。我不确定在 auth object 上调用 delete 是什么本身就是如此。

更新:我刚刚运行此命令来验证行为:

firebase.auth().currentUser.delete().then(function () {
console.log('delete successful?')
console.log(app.auth().currentUser)
}).catch(function (error) {
console.error({error})
})

一开始我收到了 400,响应正文显示我登录已经太久了。重新验证并再次尝试后,我得到:

delete successful?

null

关于javascript - Firebase 用户删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634576/

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