У меня есть следующий блок кода службы под authorize.service.ts
, и из этого возвращаемого значения я могу получить текущее имя пользователя, вошедшего в систему:
public getUser(): Observable<IUser | null> {
return concat(
this.userSubject.pipe(take(1), filter(u => !!u)),
this.getUserFromStorage().pipe(filter(u => !!u), tap(u => this.userSubject.next(u))),
this.userSubject.asObservable());
}
Это функция getUserFromStorage()
:
private getUserFromStorage(): Observable<IUser> {
return from(this.ensureUserManagerInitialized())
.pipe(
mergeMap(() => this.userManager.getUser()),
map(u => u && u.profile));
}
Я вызываю эту службу в своем файле login-menu.component.ts, где я получаю имя пользователя следующим образом:
ngOnInit() {
this.isAuthenticated = this.authorizeService.isAuthenticated();
this.userName = this.authorizeService.getUser().pipe(map(u => u && u.name));
}
Мне нужно также получить идентификатор пользователя, как как я получаю имя пользователя.