无法读取未定义的属性(读取“凭据”)Firebase Auth ReactJS
2022-02-17
3477
在用户尝试更改密码之前,我尝试再次确认用户密码。
目前,我的 Firebase Auth 项目已在 Firebase.js 中配置并正确导出
//appConfig = ...(all the configurations here)
const app = firebase.initializeApp(appConfig);
const projectAuth = app.auth()
export { projectAuth }
在我的 PasswordManager.js 中,我使用该导出的 projectAuth:
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'})
}
}
在我尝试初始化“cred”的那一行上,它给了我一个错误,说凭据不存在:
"TypeError: Cannot read properties of undefined (reading 'credential')"
我知道凭据是 EmailAuthProvider 中的一个函数。
顺便说一句:我正在使用
“firebase”:“^7.24.0”
,如果这有帮助的话。
1个回答
这是对我有用的方法,请注意,您正在使用 angular 13 和 angular/fire 7.2
我直接从
'firebase/auth'
导入了
EmailAuthProvider
所以我的代码看起来像
const credentials = EmailAuthProvider.credential(user.email, password.old);
我希望这会有所帮助
Muzingaye Moyo
2022-04-03