我是否需要每次都从 Firebase 获取用户令牌

Do I need to get the User Token each and every time from the Firebase

我已将以下方法放在 Auth 服务上并获取 currentUserIdToken 并将其存储为全局变量。这种方法有什么问题吗?即它会很快使这个令牌过期还是类似的?还是我每次都需要从 Firebase 获取这个?我已经采用了这种方法,因为我可以避免对数据库进行不必要的调用。有什么想法吗?

init(): void {
    this.afAuth.authState.subscribe(async (user: firebase.User) => {
      if (user) {
        this.currentUserUid = user.uid;
      this.currentUserIdToken = await this.afAuth.auth.currentUser.getIdToken(true); // Here

        this.onboardingService.currentUserUid = this.currentUserUid;


    });
  }

令牌将每小时过期一次。无需重复调用 getIdToken(),您可以使用 onIdTokenChanged() 监听它的变化,并提供回调以在客户端 SDK 自动刷新时立即接收新令牌。

另请参阅: