Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除帐户之前,请在Firebase Auth中验证用户密码_Javascript_Firebase Authentication - Fatal编程技术网

Javascript 删除帐户之前,请在Firebase Auth中验证用户密码

Javascript 删除帐户之前,请在Firebase Auth中验证用户密码,javascript,firebase-authentication,Javascript,Firebase Authentication,我使用Firebase Auth进行用户验证,并希望在用户删除或禁用其帐户之前验证其密码。如何才能做到这一点 我尝试了下面的代码,但似乎不起作用 unregisterUser = (payload) => { console.log('unregisterUser payload', payload) return firebase.auth().signInWithEmailAndPassword(payload.email, payload.password)

我使用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" }
我读过,但似乎找不到任何其他方法来检查用户密码

我应该首先再次验证,然后在
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