Javascript AngularFire2认证证书

Javascript AngularFire2认证证书,javascript,angular,typescript,firebase,angularfire,Javascript,Angular,Typescript,Firebase,Angularfire,我正在努力获取AngularFire2中的authCredentials以重新验证用户的敏感方法,如删除、密码更新、电子邮件更新等。我遇到以下错误: 类型“typeof auth”上不存在属性“AuthCredential” 下面是它的代码: import { AngularFire } from 'angularfire2'; import * as firebase from 'firebase'; constructor(private af: AngularFire) { }

我正在努力获取AngularFire2中的authCredentials以重新验证用户的敏感方法,如删除、密码更新、电子邮件更新等。我遇到以下错误:

类型“typeof auth”上不存在属性“AuthCredential”

下面是它的代码:

import { AngularFire } from 'angularfire2';
import * as firebase from 'firebase';
    constructor(private af: AngularFire) { }
    reauthenticated() {
        this.af.auth.subscribe(user => {
        const credential = firebase.auth.AuthCredential;
        user.auth.reauthenticate(credential)
            .then(() => { })
            .catch(err => console.log(err));
        });
    }

事实上,我发现你需要手动获取凭证,这是唯一的方法。您需要要求用户键入其电子邮件和密码,或者仅输入密码,然后从订阅AngularFire获得电子邮件,以便执行此方法,然后使用其用户详细信息

const credential = firebase.auth.EmailAuthProvider.credential(email, password);
user.auth.reauthenticate(credential);

我们遇到了一个需要使用EmailAuthProvider.credential(user,pass)的问题,但当我们尝试使用官方firebase软件包作为解决方案时,它会冻结我们的Ionic生产构建。angularfire2软件包不会冻结我们的构建。这是Ionic在firebase软件包中遇到的一个已知问题,目前尚未解决

为了解决这个问题,我们最终创建了angularfire2的分支,该分支在AngularFireAuth对象上具有emailAuthProviderCredential函数。实际上,它只是一个公开firebase.auth.EmailAuthProvider.credential(用户,密码)的传递

这是叉子:

因此,如果您确实需要在angularfire2中创建凭据而不安装firebase软件包,请通过“npm安装”使用此fork

AngularFire2 sdk中没有EmailAuthProvider这是如何工作的?