前提・実現したいこと
React(Redux)でFirebaseのAuthログインを使ったWebアプリケーションを作成しています。
一度ログインを実行したら、タブを閉じたりページ遷移した後もログイン済みの状態で画面を表示したいです。
ハマっているポイント
signInWithEmailAndPassword
でログインができる所までは確認できましたが、ログインしたユーザーデータの扱いが理解できていません。
ログイン部分の処理は、redux-sagaを使って下記のように記述しています。
function* loginSaga() { try { const data = yield call( [auth, auth.signInWithEmailAndPassword], email, password ) yield put({ type: "LOGIN_SUCCEED", data: data }) } catch (error) { yield put(loginFailure(error)) } }
Firebase - 認証状態の永続性に書かれているように、firebase.auth().setPersistence
メソッドで、Persistence.SESSION
を指定すると、currentUser
で取得することができますがinitialState
やcomponentDidMount
のタイミングではnullで返ってきてしまってしまいます。
根本的に何かを間違っているのでしょうか?どなたかアドバイスをいただけると幸いです。
あなたの回答
tips
プレビュー