Angularfire auth ConfirmPasswordReset在用户类型上不存在

时间:2019-03-17 13:59:56

标签: angular firebase firebase-authentication angularfire

我正在尝试使用angularfire2 / auth类实现密码重置功能,以下是此处的实现:https://medium.com/@c_innovative/implementing-password-reset-can-be-a-tricky-but-inevitable-task-737badfb7bab

我的代码与下面的代码基本相同:但出现错误

“类型'Observable(User)'中不存在属性'confirmPasswordReset'

handleResetPassword() { 

     if (this.newPassword != this.confirmPassword) { 
       this.matSnackBar.open("Passwords do not match.", null, { duration: 4000 }); 
       return; 
     } 

     // Save the new password. 
     this.authService.getAuth().confirmPasswordReset(
       this.actionCode, 
       this.newPassword
     ).then(resp => { 
       // Password reset has been confirmed and new password updated.    
       alert('New password has been saved');
       this.router.navigate(['/login']); }).catch(e => { 
         // Error occurred during confirmation. The code might have
         // expired or the password is too weak. alert(e); 
       }); 
     }

实现REST解决方法的捷径,有人知道为什么这个angularFire auth方法似乎不起作用吗?它应该是auth对象上的有效函数。

1 个答案:

答案 0 :(得分:0)

您必须使用@ angular / fire / auth

  1. 在构造函数中注入AngularFireAuth
  2. 从您的handleResetPassword方法中使用注入的属性

     import { AngularFireAuth } from '@angular/fire/auth';
    
     @Injectable({
      providedIn: 'root'
     })
     export class UserService {
    
       constructor(private fbAuth: AngularFireAuth) {}
    
       handleResetPassword() {
          // call comfirmPasswordReset method like this
      this.fbAuth.auth.confirmPasswordReset(this.actionCode,this.newPassword) 
       }
     }