簡體   English   中英

Nuxt 看不到經過身份驗證的用戶

[英]Nuxt don't see a authenticated user

我正在進行用戶身份驗證,但遇到了問題。 首先,加載時加載了中間件,它沒有通過 $fire.auth.onAuthStateChanged 看到授權用戶。 如果你 go 到另一個頁面(沒有重新加載頁面),用戶就會出現。 如何讓他在第一次啟動時看到它?

這是我的中間件

export default function ({app, route, redirect}) {
  console.log('middleware')
  app.$fire.auth.onAuthStateChanged(user => {
    if (user) {
      console.log('user+')
      if (route.path === perm.signin || route.path === perm.signup) {
        return redirect('/')
      }
    } else {
      console.log('user-')
      if (route.path !== perm.signin || route.path !== perm.signup) {
        return redirect(perm.signin)
      }
    }
  })
}

以及我第一次在console.log (中間件、用戶)中進入應用程序時收到的信息(第一張圖片)。 但是,如果我將 go 轉到另一個頁面,我會收到中間件 user+。

在此處輸入圖像描述

我需要用戶 + 才能第一時間開始

onAuthStateChanged 在中間件運行后觸發您作為參數提供的回調。 換句話說,當中間件運行時,回調的返回語句不會運行。 您可以確保在第一次身份驗證嘗試后調用中間件,但這會減慢應用程序的初始啟動速度。 因此,您可以將 nuxt 路由器暴露給 onAuthStateChanged 處理程序和 router.push('/login') 或 router.push('/somewhere') 從那里。

暫無
暫無

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

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