重置密码Firebase angular 5

时间:2018-06-28 05:56:14

标签: angular firebase email authentication angular5

我最近使用电子邮件密码身份验证使用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构建重置密码按钮

我的代码示例中出现拼写错误。我已修改我的信息以解决此问题

2 个答案:

答案 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';