我想在我的反应原生应用程序中使用facebook登录..我在web上使用firebase(reactJs)..现在我使用相同的方法反应原生应用程序但它不起作用...
我想要fbSignin按钮,它允许我使用用户个人资料图片和名称等。
这是我的代码..
import React, { Component } from "react"
import { Container, Item, Button, Text } from "native-base"
import * as firebase from "firebase"
import { FBLogin, FBLoginManager } from "react-native-facebook-login"
// Initialize Firebase
var config = {
apiKey: "AIzaSyAK7dr25d-qnsHCdvkeoVPWs7Q0",
authDomain: "quiz-appasdn-ba8c1.firebaseapp.com",
databaseURL: "httpsasdasdasdasd-ba8c1.firebaseio.com",
projectId: "quiz-asdaasdasdc1",
storageBucket: "pplicationasdasd-asddappspot.com",
messagingSenderId: "23764257465237"
};
firebase.initializeApp(config);
var provider = new firebase.auth.FacebookAuthProvider();
class App extends Component {
fbLogin() {
firebase.auth().signInWithPopup(provider).then(function (result) {
var token = result.credential.accessToken;
var user = result.user;
}).catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
});
}
render() {
return (
<Button onPress={this.fbLogin.bind(this)}>
<Text>faacebook Login</Text>
</Button>
);
}
};
导出默认应用
提前感谢..
答案 0 :(得分:1)
firebase.auth().signInWithPopup(provider)
不适用于本地反应,你必须使用firebase.auth().signInAndRetrieveDataWithCredential(credential)
和react-native-fbsdk
一起登录facebook ..
这是片段
<LoginButton
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
const provider = firebase.auth.FacebookAuthProvider;
const credential = provider.credential(data.accessToken.toString());
firebase.auth().signInAndRetrieveDataWithCredential(credential)
.then(function(userCredential) {
console.log(JSON.stringify(userCredential));
});
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
资源:
Facebook React Native SDK
Firebase signInAndRetrieveDataWithCredential
答案 1 :(得分:0)
我只知道lib反应原生使用登录facebook https://developers.facebook.com/docs/react-native/login mybe这可以帮助你:)