【发布时间】:2016-12-25 13:25:49
【问题描述】:
有没有人能够成功地将 Firebase Facebook Auth 集成到 React Native 中。我已经为此苦苦挣扎了几个小时,但真的不知道该怎么做。
这是我目前所拥有的:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
const FBSDK = require('react-native-fbsdk');
const {
LoginButton,
LoginManager,
AccessToken
} = FBSDK;
import Button from './src/components/button';
//I had this populated with the correct stuff, just removed it for the stack overflow purpose
const firebase1 = require("firebase");
const firebaseConfig = {
apiKey: "stuff",
authDomain: "stuff",
databaseURL: "stuff",
storageBucket: "stuff",
};
const firebase = firebase1.initializeApp(firebaseConfig);
console.log("V2.5")
const auth = firebase.auth();
const provider = firebase.auth.FacebookAuthProvider;
class pack extends Component {
render() {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
alert(data.accessToken.toString())
console.log("lets try to sign in with provider")
firebase.auth().signInWithCredential(credential).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorMessage)
// ...
});
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
</View>
);
}
现在它说我定义的提供者变量是undefined。我用const provider = firebase.auth.FacebookAuthProvider; 把它放在顶部
有没有更好的方法来解决这个问题?我希望我并不孤单.. 在谷歌上搜索它似乎并没有太多其他人正在尝试这样做.. 只是试图让 firebase 上的 facebook auth 与 React Native 一起工作
【问题讨论】:
标签: facebook firebase react-native firebase-authentication