AngularFire2 AuthCredentials

问题描述 投票:1回答:2

我正在努力获取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));
        });
    }
javascript angular typescript firebase angularfire
2个回答
0
投票

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

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

-1
投票

我们遇到了一个需要使用EmailAuthProvider.credential(用户,传递)的问题,但是当我们尝试使用官方firebase软件包作为解决方法时,它会冻结我们的Io​​nic生产版本。然而,angularfire2包不会冻结我们的构建。这是Ionic与firebase软件包尚未修复的已知问题。

为了解决这个问题,我们最终创建了一个angularfire2的分支,它在AngularFireAuth对象上有一个emailAuthProviderCredential函数。它实际上只是一个传递,暴露firebase.auth.EmailAuthProvider.credential(user,pass)。

这是叉子:https://github.com/seed2spoon/angularfire2

因此,如果您绝对需要在angularfire2中创建凭据而不安装firebase包,请随意通过“npm install https://github.com/seed2spoon/angularfire2/releases/download/5.1.1-s2s/5.1.1-s2s.tar.gz”使用此fork

© www.soinside.com 2019 - 2024. All rights reserved.