javascript - 删除帐户前在 Firebase Auth 中验证用户密码

标签 javascript firebase-authentication

我使用 Firebase Auth 进行用户验证,并希望在用户删除或禁用其帐户之前验证用户密码。如何执行?

我试过下面的代码,但它似乎不起作用。

  unregisterUser = (payload) => {
    console.log('unregisterUser payload', payload)
    return firebase.auth().signInWithEmailAndPassword(payload.email, payload.password)
    .then( (user) => {
      //Success
      console.log('signInWithEmailAndPassword ok', user)
      console.log('signIn success')
      return Promise.resolve(true)
    })
    .catch( (error) => {
      //Fail
      console.error('signInWithEmailAndPassword error', error.code, error.message)
      console.error('error', error)
      return Promise.reject(error)
    })
 })

我得到的唯一控制台注销是

unregisterUser payload Object { uid: "ABCDEFG12345", password: "111" }

我已阅读 the documentation但似乎找不到任何其他方法来检查用户密码。

The documentation states我应该首先再次进行身份验证,然后在 firebase.User.delete 之前调用 firebase.User.reauthenticateWithCredential

如何做到这一点?

亲切的问候/K

最佳答案

我找到了正确的方法!

    const user = firebase.auth().currentUser
    const credential = firebase.auth.EmailAuthProvider.credential(payload.email, payload.password)
    user.reauthenticateWithCredential(credential)
    .then((result) => {
      console.log('result', result)
      // ...
    })
    .catch((error) => {
      console.log('error', error)
      console.log('code', error.code)
      // ...
    })

/K

关于javascript - 删除帐户前在 Firebase Auth 中验证用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60097797/

相关文章:

javascript - 正则表达式删除所有重复的字符

javascript - 使用来自对象的嵌套数组值设置状态数组

ios - 为什么我的 iOS 应用程序可能会被 Apple 审阅者卡在启动屏幕上,但对我来说却不会?

angular - 将 bool 值从 observable 传递到 observable

javascript - React Native Firebase auth().signInWithPhoneNumber() 在发布 APK 中返回意外错误

javascript - Firebase signInWithEmailAndPassword 直到 UI 焦点更改后才触发 .then()

javascript - 与 webpack 捆绑后,纠正 Javascript 错误,因为元素不存在于当前页面中

javascript - 简单的方法而不是在 JavaScript 中重复调用函数

javascript - 当焦点位于特定输入时,如何防止表单提交?

Firebase在云功能中验证电子邮件密码