programing

Firebase 및 Firebase를 갖춘 Nuxt 미들웨어UI: 오류: 네비게이션 가드를 통해 "/anything"에서 "/login"으로 이동할 때 방향 수정됨

minecode 2022. 10. 2. 15:01
반응형

Firebase 및 Firebase를 갖춘 Nuxt 미들웨어UI: 오류: 네비게이션 가드를 통해 "/anything"에서 "/login"으로 이동할 때 방향 수정됨

Firebase를 사용하는 Nuxt SSR 앱인증 플로우를 처리하는 UI.로그인 및 로그아웃은 완벽하게 동작합니다.Middleware를 추가하여 인증 상태를 확인하고 로그인하지 않은 경우 수정하면 다음 오류가 나타납니다.

오류: 네비게이션가드를 통해 "/list-cheatsheets"에서 "/login"으로 이동할 때 방향 수정됩니다.

미들웨어/auth.model

export default function ({ store, redirect }) {
    // If the user is not authenticated
    if (!store.state.user) {
      return redirect('/login')
    }
  }

앱에서 찾을 수 있는 다른 리다이렉트는 전혀 없습니다.

나는 몇 시간 동안 물건을 파헤치고 시도했다.이 에러가 발생한 다른 에러는 Nuxt를 사용하고 있지 않기 때문에, 어느 솔루션도 동작하지 않습니다.

현상금이 있으므로 중복으로 표시할 수 없으므로 후속 조치는 단일 Vue 내비게이션에서 두 번 리디렉션에 대한 답변 사본입니다.


tldr:vm.$router.push(route)약속이고 할 필요가 있다.catch(e=>gotCaught(e))에러입니다.


이것은 다음 메이저에서 변경됩니다@4


현재 @3 오류는 식별되지 않습니다.NavigationFailures또는regular Errors.

그 후 예상되는 순진한 루트vm.$router.push(to)그래야 한다to따라서 리다이렉트가 이루어지면 몇 가지 장애 메시지가 나타날 수 있습니다.라우터에 패치를 적용하기 .push to be commends오류묵살되었습니다.현재 해결책은 a를 차단하는 것이다..catch(...)모든 푸시에 적용하거나 설계의 변화를 예측하고 결과적으로 실패를 드러내기 위해 랩을 감습니다.

향후 계획에서는 이러한 정보를 결과에 반영할 예정입니다.

  let failure = await this.$router.push(to);
  if(failure.type == NavigationFailureType[type]){}
  else{}

이 에러는 설계상 발생한 것으로, 다음과 같이 처리해 주세요.

hook(route, current, (to: any) => { ... abort(createNavigationRedirectedError(current, route)) ...}

그러니까 기본적으로는to리다이렉트가 포함되어 있습니다.이것은 에러이며, 사용하는 것과 같습니다.vm.$router.push경비원으로서 말이야

처리되지 않은 오류 동작을 무시하려면 빈 onComplete(향후 릴리스의 브레이크)를 전달할 수 있습니다.

vm.$router.push(Route, ()=>{})

또는 에 싸서try .. catch

try {

  await this.$router.push("/")
} catch {

}

잡히지 않고 던지겠다는 약속을 막는 거죠.


두 번 리다이렉트하지 않고 이를 지원하는 것은 가드를 출구에 배치하는 것을 의미합니다.

let path = "/"
navguard({path}, undefined, (to)=>this.$router.push(to||path))

으로 리다이렉트하는 모든 컴포넌트를 폴리싱합니다.


를 제외하고router-link컴포넌트가 빈 onComplete를 사용합니다.


2회 리다이렉트 할 수 없다는 가정은 틀렸습니다.

언급URL : https://stackoverflow.com/questions/64447174/nuxt-middleware-with-firebase-and-firebaseui-error-redirected-when-going-from

반응형