我对React Native来说真的很新。我的目的是通过存储FBSDK的loginWithReadPermissions提供的凭证,用户不必在每次启动应用程序时登录,而是在首次安装后只登录一次。也许将它存储在某个地方我可以检查componentWillMount()中的凭据。
我的第一个问题是:FBSDK会自动执行此操作吗?如果没有,我该怎么做?
我有Facebook Auth的代码:
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);
}
);
}
代码完美无缺,提前谢谢。
答案 0 :(得分:1)
使用React Native,您可以使用Asyncstorage,这基本上是本地存储对于Web领域:键值对迷你数据库。
实际上,您可以使用Firebase的firebase.auth().currentUser
检索当前登录的用户。如果它返回有效的用户对象,也许你可以检查app启动。