2017-10-27 1 views
0

저는 React Native에 정말 처음이에요. 내 의도는 FBSDK의 loginWithReadPermissions에서 제공하는 자격 증명을 저장하면 앱을 시작할 때마다 로그인 할 필요가 없지만 앱을 처음 설치 한 후 한 번만 로그인하면됩니다. 아마 어딘가에 componentWillMount()에서 자격 증명을 확인할 수 있습니다.React Native 및 Firebase에 Facebook 자격 증명 저장

내 첫 번째 질문은 FBSDK가 자동으로 수행합니까? 그렇지 않다면 어떻게해야합니까?

나는 페이스 북 인증이 코드를 가지고 :

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을 사용할 수 있습니다. 기본적으로 로컬 영역이 웹 영역에 대한 것입니다 : 키 - 값 쌍 미니 데이터베이스.
사실, Firebase의 firebase.auth().currentUser을 사용하여 현재 로그인 한 사용자를 검색 할 수 있습니다. 어쩌면 유효한 사용자 객체를 반환하는 경우 응용 프로그램 시작을 확인할 수 있습니다.