jsd*_*rio 0 javascript firebase react-native firebase-authentication
我正在关注最新版本的 Firebase Google Web SDK。从登录到注册和注销的一切都很好。我想让用户删除自己的帐户并遵循firebase.User类的 API 参考。我还阅读了他们关于管理用户的文档。
这是我使用的代码:
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.
})
}
Run Code Online (Sandbox Code Playgroud)
该函数delete似乎从firebase.Auth对象工作并解决了承诺。如果signOut对日志做同样的事情会出现一个未定义的对象,但是在这里:
console.log({user}) // { user: Firebase.User object }
Run Code Online (Sandbox Code Playgroud)
不会发出错误。
注意:这是一个 react-native 应用程序。
您似乎缺少对currentUser.
您可以使用该
delete方法删除用户帐户。例如:Run Code Online (Sandbox Code Playgroud)var user = firebase.auth().currentUser; user.delete().then(function() { // User deleted. }, function(error) { // An error happened. });重要提示:要删除用户,用户必须最近登录。请参阅重新验证用户。
如上所述,您的代码没有引用currentUser. 我不知道什么叫delete上AUTH对象本身一样。
更新:我只是运行它来验证行为:
firebase.auth().currentUser.delete().then(function () {
console.log('delete successful?')
console.log(app.auth().currentUser)
}).catch(function (error) {
console.error({error})
})
Run Code Online (Sandbox Code Playgroud)
起初我得到了 400,响应正文说我登录后已经太久了。重新进行身份验证并再次尝试后,我得到:
删除成功?
空值
| 归档时间: |
|
| 查看次数: |
5156 次 |
| 最近记录: |