AngularFire2 在 Typescript 中获取经过身份验证的用户 ID
AngularFire2 Get Authenticated User ID in Typescript
我正在尝试弄清楚如何在 TypeScipt 中获取经过 Firebase 身份验证的用户的 uid:
<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
...但这似乎没有暴露。如果我将其更改为...
this.afAuth.auth.currentUser.toJSON()
... 并将其发送到控制台,然后我确实看到了一个 uid 属性。我怎样才能得到 属性?
这是否是获取用户 uid 的正确方法?会...
this.afAuth.auth.currentUser.getIdToken()
...会好点吗?如果这样更好,我也看不出如何从中获取 uid。建议?
您可以从 idToken
Observable
获取 uid
this.afAuth.idToken.subscribe(user => {
this.user = user;
this.lists = this.af.list(`/lists/${user.uid}`);
});
请记住,这是一个可观察的,这意味着您可以使用它作为基础并使用 mergeMap
、map
等来创建链
我正在尝试弄清楚如何在 TypeScipt 中获取经过 Firebase 身份验证的用户的 uid:
<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
...但这似乎没有暴露。如果我将其更改为...
this.afAuth.auth.currentUser.toJSON()
... 并将其发送到控制台,然后我确实看到了一个 uid 属性。我怎样才能得到 属性?
这是否是获取用户 uid 的正确方法?会...
this.afAuth.auth.currentUser.getIdToken()
...会好点吗?如果这样更好,我也看不出如何从中获取 uid。建议?
您可以从 idToken
Observable
this.afAuth.idToken.subscribe(user => {
this.user = user;
this.lists = this.af.list(`/lists/${user.uid}`);
});
请记住,这是一个可观察的,这意味着您可以使用它作为基础并使用 mergeMap
、map
等来创建链