firebaseConfig.default.auth承诺拒绝错误

时间:2020-04-18 04:49:22

标签: firebase react-native react-native-android expo

我正在尝试用Facebook注册用户,但我看到非常僵化的错误,而且似乎没有解决的帮助,所以我再次询问 那就是我的代码

async function signInWithFacebook() {
    // const appId = Expo.Constants.manifest.extra.facebook.appId;
    Facebook.initializeAsync(appid)
    const permissions = ['public_profile'];  // Permissions required, consult Facebook docs

    const {
      type,
      token,
    } = await Facebook.logInWithReadPermissionsAsync(
      {permissions} 
    );
    if(type == "success"){
        const credential = initFirebase.auth.FacebookAuthProvider.credential(token);
        initFirebase.auth().signInWithCredential(credential)
        .catch(err => {
            console.log(err)
        })
    }
  }

我在字符串中使用appid,但是我没有在这里添加它,希望您能理解。 错误是这个 enter image description here

这是我的Firebase配置文件代码

import firebase from "firebase/app"
import "firebase/firestore"
import "firebase/auth"
// Your web app's Firebase configuration
var firebaseConfig = {
    apiKey: "xxxxxxxx",
    authDomain: "xxxxxx",
    databaseURL: "xxxxxx",
    projectId: "xxxx",
    storageBucket: "xxxxx",
    messagingSenderId: "xxxxx",
    appId: "xxxxx"
};
  // Initialize Firebase
const initFirebase = firebase.initializeApp(firebaseConfig);
export default initFirebase

由于隐私原因,隐藏了变量值。我曾与firestore合作,但我遇到了auth与facebook的问题。

我正在使用react native,firebase,expo而不是firebase sdk

1 个答案:

答案 0 :(得分:1)

您无需注册Facebook应用程序即可使用Firebase登录Facebook。您可以在控制台中启用Firebase Facebook身份验证的情况下使用以下代码。

export const loginWithFacebook = (accessToken) => {
  const credential = initFirebase.auth.FacebookAuthProvider.credential(accessToken);
  return new Promise((resolve, _reject) => {
    signInWithCredential(credential).then(response => {
      resolve(response);
    });
  });
};