Angular:如何在api授权中获取用户ID

问题描述 投票:0回答:1

我在authorize.service.ts下有以下服务代码块,并从该返回值中,可以获取当前登录用户的userName:

  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));
  }

我想要的是获取用户ID的方式也与获取用户名的方式一样。

angular authorization angular8
1个回答
1
投票

在组件中添加此功能。

© www.soinside.com 2019 - 2024. All rights reserved.