2

我试图找出我怎么能得到火力地堡验证用户的内TypeScipt的UID:AngularFire2获取身份验证的用户ID在打字稿

<div> {{ (user | async)?.uid }} </div> 

我有以下的TS码:

import { AngularFireAuth } from 'angularfire2/auth'; 
import * as firebase from 'firebase/app' 

@Component({ 
    selector: 'app-user-portal', 
    templateUrl: './user-portal.component.html', 
    styleUrls: ['./user-portal.component.css'] 
}) 
export class UserPortalComponent implements OnInit { 
    user: Observable<firebase.User>; 

    constructor(
       public afAuth: AngularFireAuth 
) { 
    this.user = afAuth.authState; 
    } 

    ngOnInit() { 

    } 
} 

一切我读过暗示我需要访问的id属性...

this.afAuth.auth.currentUser.uid 

...但是这似乎并没有è xposed。如果我改变...

this.afAuth.auth.currentUser.toJSON() 

...并将其发送到控制台,然后确实我看到一个uid属性。我怎样才能得到那个财产?

这是甚至正确的方式来获得用户的uid?会...

this.afAuth.auth.currentUser.getIdToken() 

...好些了吗?如果这样比较好,我也看不出如何让这个uid退出。建议?

回答

0

您可以从idTokenObservable

this.afAuth.idToken.subscribe(user => { 
      this.user = user; 
      this.lists = this.af.list(`/lists/${user.uid}`); 
     }); 

获得UID请记住,这是一个可观的,这意味着你可以使用这个与mergeMapmap基地创建链等

相关问题