0

反応したネイティブアプリケーションでfirebaseセッションを永続化できませんでした。この質問は React Native - Firebase auth persistence not working とほとんど同じですが、そこに記載されている回答は私には効果がありません。React-native - Firebase onAuthStateChangedが正しく動作しない

export const loginUser = ({ email, password }) => { 
    return (dispatch) => { 
    dispatch({ type: LOGIN_USER }); 

    firebase.auth().signInWithEmailAndPassword(email, password) 
     .then(user => loginUserSuccess(dispatch, user)) 
     .catch(() => loginUserFailed(dispatch)) 

    }; 
}; 

私のセッションが作成され、私はfirebaseに格納されているユーザーオブジェクトへのアクセス権を持っている:以下に示すように

は現在、私は、ログインします。

私がCmd + Rを実行したり、アプリケーションを終了して再度開いたりすると、セッションが終了します。私はアプリを更新したり、それを完全に閉じて、私は応答「ログインしていません」を取得再度開くたび

firebase.auth().onAuthStateChanged((user) => { 
    if (user) { 
    console.log('user is logged'); 
    } else { 
    console.log('not logged in') 
    } 
}); 

:私は私のapp.jsファイルのcomponentWillMount()セクションに次のように実行してきました。

私はまた、照会しようとしている:

firebase.auth().currentUser 

それがヌル

を返し、同じ問題は、私が間違って何をやってもらいますか?

私は行方不明のセッションをアクティブに保つ特別な方法はありますか?

+0

資格情報の一時キーは、ブラウザ(セッションまたはCookie、またはその両方)に保存されます。ページ終了時にセッションをクリアするためにブラウザを変更した可能性がありますか?わからない。私は同じブラウザを使って新しいタブを開くことさえでき、すでにログインしているでしょう。ブラウザセッション/ Cookieの設定をデフォルトに戻してください。 –

+0

@ronroystonこれは、ネイティブのモバイルアプリケーションに対応しています。アンドロイドとiOSデバイス用のネイティブアプリケーションを作成しています。私はアプリケーションがセッションクッキーを削除しないと思っています。しかし、私は間違っている可能性があります – Kerrin631

+0

firebase.jsの最新バージョンを使用していますか?反応固有の持続性に関する4.5.2で修正された問題がありました。 – bojeil

答えて

0

この問題は、once loggedInの後にFirebase.auth()。signOut()を実行していないために発生します。試してみてください(テストのために、いつでもcomponentWillMount関数でサインアウトできます)、あなたはonAuthStateChanged通知を見ることができます。

関連する問題