簡體   English   中英

firebase currentUser 在頁面重新加載時是 null

[英]firebase currentUser is null on page reload

我正在使用 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 組件的已安裝掛鈎中運行。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM