gpt4 book ai didi

javascript - 页面重新加载时 firebase currentUser 为 null

转载 作者:行者123 更新时间:2023-12-02 20:58:35 25 4
gpt4 key购买 nike

我正在使用 firebase 进行身份验证。每次在向后端发出请求之前,我都会请求 idToken。

service.interceptors.request.use(async request => {
const token = await firebase.auth().currentUser.getIdToken();
if (!token && request.url !== '/signIn' && request.url !== '/register') {
toast.error('Not authenticated');
return;
}
request.headers.Authorization = 'Bearer ' + token;
return request;
});

此外,我还有一个对后端的请求,该请求将在我的 vue 组件的已安装 Hook 中运行。

mounted() {
plantService.getPlants().then(data => (this.suspicionList = data));
}

通常,这是可行的,但问题是,当我刷新页面时,firebase.auth().currentUser 为 null,请求将失败,因此不会返回任何数据。

我已经尝试创建一个计算属性并在观察器中观察该属性。但不工作。另外,我的 main.js 文件中有一个用户观察者,如下所示:

firebase.auth().onAuthStateChanged(user => {
store.dispatch('FETCH_USER', user);
});

有人有想法吗?

谢谢!

最佳答案

如果我正确理解您的问题,以下应该可以解决问题:

mounted() {
firebase.auth().onAuthStateChanged(user => {
if (user) {
plantService.getPlants().then(data => (this.suspicionList = data));
}
});
}

关于javascript - 页面重新加载时 firebase currentUser 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61408152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com