Не могу рефакторить код promptForCredentials(). Что не так?
Я создаю форму reset password в React.js используя firebase, который должен обновить пароль юзера.
Код в блоке ниже - взят с документации файербейза.
const user = firebase.auth().currentUser;
// TODO(you): prompt the user to re-provide their sign-in credentials
const credential = promptForCredentials();
user.reauthenticateWithCredential(credential).then(() => {
// User re-authenticated.
}).catch((error) => {
// An error ocurred
// ...
});
что должно находится внутри promptForCredentials()?
Уже отыскал много вариантов, но те на 8-м файербейзе написаны и я почему-то немогу нормально рефакторить.
Мой вариант(ниже) нерабочий. Возможно ошибка и вовсе не в cred?
const UpdatePassForm = ({ closeForm }) => {
const [currentPass, setCurrentPass] = useState('')
const [newPass, setNewPass] = useState('')
const user = auth.currentUser
const reauthenticate = (currentPass) => {
const cred = auth.EmailAuthProvider.credential(user.email, currentPass)
console.log('current1', currentPass)
return reauthenticateWithCredential(user, cred)
}
const updatePass = (e) => {
reauthenticate(currentPass)
.then(() => {
e.preventDefault()
updatePassword(user, newPass)
.then(() => {
alert('Password was changed')
})
.catch((error) => {
if (error.code == 'auth/requires-recent-login') {
signOut(auth).then(function () {
alert('Please sign in again to change your password.')
setTimeout(function () {
window.location.reload()
}, 2000)
})
} else {
alert(error.message)
}
})
})
.catch((error) => {
alert(error.message)
})
}
return (...)
}
При сабмите, выдает следущую ошибку: Firebase: Error (auth/network-request-failed)
Как быть? Заранее спасибо