&引用;回调URL不包含状态“0”;来自Firebase的Facebook身份验证和反应本机错误

&引用;回调URL不包含状态“0”;来自Firebase的Facebook身份验证和反应本机错误,firebase,react-native,firebase-authentication,facebook-authentication,Firebase,React Native,Firebase Authentication,Facebook Authentication,我正在尝试使用Firebase和Facebook Auth编写React本机应用程序。以下是完整的应用程序代码: 从“React”导入React; 从“react native”导入{StyleSheet,View}; 从“react native fbsdk”导入{LoginManager、AccessToken、LoginButton}; 从“/config/firebase”导入*作为f; 导出默认类App扩展React.Component{ fbLoginHandler(错误、结果){

我正在尝试使用Firebase和Facebook Auth编写React本机应用程序。以下是完整的应用程序代码:

从“React”导入React;
从“react native”导入{StyleSheet,View};
从“react native fbsdk”导入{LoginManager、AccessToken、LoginButton};
从“/config/firebase”导入*作为f;
导出默认类App扩展React.Component{
fbLoginHandler(错误、结果){
如果(错误){
警报('登录失败,出现错误:'+错误);
}else if(result&&result.isCancelled){
警报(“登录已取消”);
}否则{
AccessToken.getCurrentAccessToken()。然后((accessTokenData)=>{
const credential=f.provider.credential(accessTokenData.accessToken);
f、 使用凭据(凭据)验证签名和检索数据。然后((s)=>{
警报('Success!'+s);
},(符号错误)=>{
console.log('登录错误',登录错误);
警报(“登录错误”+登录错误);
});
},(标记错误)=>{
警报('发生了某些错误'+tokenError);
});
}
}
渲染(){
返回(
this.fbLoginHandler(错误,结果)}
onLogoutFinished={()=>警报('logout.')}
/>
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
为内容辩护:“中心”,
对齐项目:“居中”,
背景颜色:“#F5FCFF”
}
});
这是我的Firebase配置文件(上面代码段中的
'./config/Firebase'
导入):

从“firebase”导入*作为firebase;
常量配置={
阿皮奇:,
authDomain:,
数据库URL:,
投影d:,
存储桶:,
messagingSenderId:
};
firebase.initializeApp(配置);
export const database=firebase.database();
export const auth=firebase.auth();
export const provider=new firebase.auth.FacebookAuthProvider();
按照Firebase文档中的说明,我已经在我的Facebook控制台上输入了所需的OAuth重定向URI。我还根据在其他堆栈溢出线程中发现的建议添加了一些其他线程。我授权的重定向URI是:

https://<MyAppID>.firebaseapp.com/__/auth/handler
https://auth.firebase.com/auth/facebook/callback
https://auth.firebase.com/v2/<MyAppID>/auth/facebook/callback
https://localhost/
http://localhost/
我搜索了互联网、Facebook开发者文档、Firebase文档,当然还有堆栈溢出,但我在任何地方都找不到任何关于这个特定错误的参考。我相信这个错误——尽管是从Firebase函数返回的——只是从Facebook Auth API传递过来的,但我甚至不能100%确定这一点

我的假设是,我必须在Facebook或Firebase中有一个不正确的配置设置,但我已经尝试在错误消息中没有更改的情况下更改明显的配置设置(例如重定向URI、所有OAuth选项切换等)


如有任何见解,将不胜感激

尽管我仍然无法诊断此特定错误,但我通过使用第三方
react native firebase
软件包替代谷歌的
firebase
软件包找到了一个有效的解决方案:

从“React”导入React;
从“react native”导入{StyleSheet,View};
从“react native fbsdk”导入{LoginManager、AccessToken、LoginButton};
从“react native firebase”导入firebase;
导出默认类App扩展React.Component{
fbLoginHandler(错误、结果){
如果(错误){
警报('登录失败,出现错误:'+错误);
}else if(result&&result.isCancelled){
警报(“登录已取消”);
}否则{
AccessToken.getCurrentAccessToken()。然后((accessTokenData)=>{
const credential=firebase.auth.FacebookAuthProvider.credential(accessTokenData.accessToken);
firebase.auth().SignandRetrieveDataWithCredential(凭证)。然后((s)=>{
警报('Success!'+s);
},(符号错误)=>{
console.log('登录错误',登录错误);
警报(“登录错误”+登录错误);
});
},(标记错误)=>{
警报('发生了某些错误'+tokenError);
});
}
}
渲染(){
返回(
this.fbLoginHandler(错误,结果)}
onLogoutFinished={()=>警报('logout.')}
/>
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
为内容辩护:“中心”,
对齐项目:“居中”,
背景颜色:“#F5FCFF”
}
});