お世話になります。
nuxt.jsとfirebase sdkを利用して認証機能を作っています。
認証している人は、アクセス可能にし、それ以外はログインページに飛ばすという実装です。
現在考えている実装としては、
ミドルウェアにて、onAuthStateChangedのコールバックからユーザー情報を取得して、ページの遷移先を決定しています。
export default function ({ app, route, redirect }) { console.log('middleware') return app.$fire.auth.onAuthStateChanged((user) => { console.log('onAuthStateChanged') if (user) { if (route.name === 'login') redirect('/home') } else if (route.name !== 'login') redirect('/login') }) }
そして、コンポーネントの、asyncDataの中でAPIを呼び出しているという流れです。
私としては、
ミドルウェアの実行
↓
ミドルウェアの解決(ユーザー情報の取得)
↓
asyncDataの実行
となってほしいのですが、
実際には、
ミドルウェアの実行
↓
asyncDataの実行
↓
ミドルウェアの解決(ユーザー情報の取得)
となります。
ミドルウェアの解決がなされるまでは、ページ遷移を行ってほしくないのですが、どのようにすればよろしいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。