javascript - 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
刷新令牌时没有调用它。我不知道为什么。
版本数据:
- “火力基地”:“^7.24.0”,
- "react-firebaseui": "^4.0.0",
- “反应”:“^16.10.2”,
- "redux": "^4.0.4",
- "react-redux": "^7.1.3",
解决方案
推荐阅读
- javascript - 按类别过滤数据 JavaScript
- python - 在迁移文件中找不到表
- java - Android Studio WebView - 下载扩展名为 admin-ajax.php 的文件
- c# - 如何保留已编辑图像的 EXIF?
- python - 试图访问python中的嵌套字典键
- amazon-web-services - Amazon S3 存储桶索引?
- django - 如何以编程方式访问对象的 Django related_name QuerySet
- reactjs - 为什么 React.js 不在新窗口中单独显示我的组件?
- arrays - 为什么下面的代码只是通过将比较运算符从 &&(AND) 更改为 ||(OR) 来给出堆溢出错误?
- spring - 如何在使用@RequestMapping(Spring Boot)注释的方法中返回html视图和特定ID