Estoy tratando de confirmar la contraseña del usuario nuevamente antes de que el usuario intente cambiar la contraseña.
Actualmente, mi proyecto de Firebase Auth está configurado en Firebase.js y se exporta correctamente
//appConfig = ...(all the configurations here) const app = firebase.initializeApp(appConfig); const projectAuth = app.auth() export { projectAuth }Y en mi PasswordManager.js, uso ese projectAuth exportado:
import { projectAuth } from "../firebase"; const authenticateCurrentPassword = async (currentPassword) => { try { const cred = projectAuth.EmailAuthProvider.credential( projectAuth.currentUser.email, currentPassword); projectAuth.reauthenticateWithCredentials(cred) await projectAuth.reauthenticateAndRetrieveDataWithCredential(cred); dispatchIfNotCancelled( {type: 'AUTHENTICATED'}) return true } catch (err) { console.log(err) dispatchIfNotCancelled( {type: 'ERROR'}) } }En la línea donde intento inicializar el "cred", me da un error diciendo que la credencial no existe:
"Error de tipo: no se pueden leer las propiedades de undefined (leyendo 'credencial')"
Sé que la credencial es una función dentro de EmailAuthProvider. por cierto: estoy usando "firebase": "^7.24.0" , si eso ayuda.
esto es lo que funcionó para mí, tenga en cuenta que está usando angular 13 con angular/fire 7.2
EmailAuthProvider desde 'firebase/auth'
entonces mi código parecía const credentials = EmailAuthProvider.credential(user.email, password.old);
espero que esto ayude