我最近使用电子邮件密码身份验证使用Angular 5和Firebase构建了一个Web应用程序。 Firebase更新到版本4.13.1之后,我将Angular更新到5.2.9。现在我的密码重置不起作用。
身份验证服务:
import * as firebase from 'firebase';
resetPassword(email: string) {
const fbAuth = firebase.auth();
return fbAuth.sendPasswordResetEmail(email)
.then(() => console.log('sent Password Reset Email!'))
.catch((error) => console.log(error))
}
组件:
resetPassword(email) {
this.authService.resetPassword(email)
.then(() => this.passReset = true)
}
在控制台中,我收到错误消息:
TypeError: firebase.auth is not a function at AuthService.resetPassword
我找不到任何不包含“ firebase.auth”的代码,也找不到最近更新可能导致我正在使用的功能无法使用的任何原因。为什么会中断以及如何使用Firebase 4.13.1构建重置密码按钮
我的代码示例中出现拼写错误。我已修改我的信息以解决此问题
答案 0 :(得分:0)
您需要更改这些行
return this.afAuth.auth.sendPasswordResetEmail(email)
.then(() => console.log('sent Password Reset Email!'))
.catch((error) => console.log(error))
到以下几行
return fbAuth.sendPasswordResetEmail(email)
.then(() => console.log('sent Password Reset Email!'))
.catch((error) => console.log(error))
答案 1 :(得分:0)
如果您在打字稿中使用Firebase SDK,还需要导入auth软件包:
import * as firebase from 'firebase/app';
import 'firebase/auth';