2017-03-06 45 views
2

我可以轻松地使用它来创建用户:如何使用AngularFire2更新Firebase中的用户?

this.af.auth.createUser({email: email, password: password}); 

但我怎么修改用户的详细信息一旦他们创造的呢? (即:更改密码或电子邮件地址?)。我会想这样的事情:

this.af.auth.updateUser({email: email, password: password}); 

但是没有updateUser方法?

回答

1

我曾经遇到这个问题,还没有得到一个angularfire2的答案。

这里是一个天然的火力点方式,我通过这个问题得到。

public auth: any; 
constructor(@Inject(FirebaseApp) firebaseApp: any) { 
    this.auth = firebaseApp.auth(); 
} 

reset(targetEmail: any) { 
    this.auth.sendPasswordResetEmail(targetEmail); 
} 

注:

看来我们不能直接更改密码,只发送密码重置EAMIL到目标电子邮件地址。

+0

Pengyy我怎样才能在**使用脚本角4 **? 我已经使用包** angularfire2 **,但它非常难以使用,并有任何简单的方法来使用** firebase **在我的应用程序? –

1

如讨论here,您可以订阅FirebaseAuthState可观察项并使用Firebase的updateProfile()方法。

private authState: FirebaseAuthState; 

constructor(private af: AngularFire) { 
    this.af.auth.take(1).subscribe(auth => { 
     this.authState = auth; 
} 

authState.auth.updateProfile({ 
    displayName: 'display name', 
    photoURL: 'some/url' 
}).then(() => { 
    ... 
}); 
相关问题