我很难让authCredentials在AngularFire2中重新验证用户的敏感方法,例如删除、密码更新、电子邮件更新等等,我得到了以下错误:
属性'AuthCredential‘在’auth‘类型中不存在。
这是它的代码:
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));
});
}发布于 2017-03-10 13:39:58
实际上,我刚刚发现你需要手动获取凭证,这是唯一的方法。您需要要求用户键入他的电子邮件和密码,或者只输入密码,然后通过订阅AngularFire获得电子邮件,以便执行此方法,然后使用他的用户详细信息。
const credential = firebase.auth.EmailAuthProvider.credential(email, password);
user.auth.reauthenticate(credential);发布于 2019-03-09 05:53:52
我们遇到了一个问题,我们需要使用EmailAuthProvider.credential(用户,pass),但是当我们尝试使用官方的防火墙包作为一项工作时,它会冻结我们的Ionic产品构建。然而,angularfire2包不会冻结我们的构建。这是一个已知的问题,Ionic的火力包还没有解决。
为了解决这个问题,我们最终创建了一个在angularfire2对象上具有emailAuthProviderCredential函数的分叉。从字面上讲,这仅仅是一个暴露firebase.auth.EmailAuthProvider.credential(user,通行证的传递)。
这是叉子:https://github.com/seed2spoon/angularfire2
因此,如果您绝对需要在angularfire2中创建凭据而不安装firebase包,那么可以通过"npm安装https://github.com/seed2spoon/angularfire2/releases/download/5.1.1-s2s/5.1.1-s2s.tar.gz“使用此叉子。
https://stackoverflow.com/questions/42713804
复制相似问题