首页 > 解决方案 > firebase.auth().onIdTokenChanged 貌似没有刷新令牌

问题描述

我正在开发一个使用 Firebase 进行身份验证的网络应用程序。Firebase 文档指出其 id 令牌持续一个小时,并且还会在某些事件上刷新。因此,按照指示,我正在使用该onIdTokenChanged()方法刷新令牌,如下所示:

async function getFirebaseUserIdToken() {
  const idToken = await firebase.auth().currentUser.getIdToken();
  window.localStorage.setItem('idToken', idToken);
  firebase.auth().onIdTokenChanged(async user => {
    if (user) {
      window.localStorage.setItem('idToken', await user.getIdToken());
    }
  });
  return idToken;
}

问题:它似乎不起作用。我仍然被注销。在我看来,onIdTokenChanged刷新令牌时没有调用它。我不知道为什么。

版本数据:

标签: javascriptfirebasefirebase-authentication

解决方案


推荐阅读