2017-10-27 19 views
0

React Nativeには本当に新しいです。私の意図は、FBSDKのloginWithReadPermissionsで提供されている資格情報を保存することで、アプリが起動するたびにログインする必要はなく、最初にインストールされてから1回だけログインするということです。たぶんどこかに保存して、componentWillMount()の資格情報をチェックすることができます。React NativeとFirebaseのFacebook認証情報を保存します

私の最初の質問です:FBSDKはこれを自動的に行いますか?そうでない場合は、どうすればいいですか?

私はFacebookの認証のためにこのコードを持っている:

facebookAuthentication(callback){ 
LoginManager.logInWithReadPermissions(['public_profile', 'user_likes', 'email']).then(
    function(result) { 
    if (result.isCancelled) { 
     alert('Inicio de sesión cancelado'); 
    } else { 
     AccessToken.getCurrentAccessToken().then((accessTokenData) =>{ 
     const credential = Firebase.auth.FacebookAuthProvider.credential(accessTokenData.accessToken); 
     Firebase.auth().signInWithCredential(credential).then((result) =>{ 
      return callback; 
     }, (error) =>{ 
      console.log('Error en firebase' + error); 
     }); 
     }, (error) =>{ 
     console.log('ACCESS TOKEN ERROR: ' + error); 
     }); 
    } 
    }, 
    function(error) { 
    console.log('Login failed with error: ' + error); 
    } 
); 

}

コードは完璧に動作し、事前に感謝を。

+1

JavaScriptのlocalStorageを試しましたか? https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage – fungusanthrax

答えて

1

React Nativeでは、Asyncstorageを使用することができます。これは、基本的にはウェブレルム用のlocalstorage:キーと値のペアのミニデータベースです。
実際には、Firebaseのfirebase.auth().currentUserを使用して、現在ログインしているユーザを取得できます。おそらく、有効なユーザーオブジェクトを返す場合、アプリの起動を確認できます。

関連する問題