firebaseConfig.default.auth ошибка отклонения обещания - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь зарегистрировать пользователя с помощью 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

значения переменных скрыты из-за конфиденциальности .i работал с firestore и что работал, но я вижу проблему с авторизацией с Facebook.

я использую реагирующий нативный, firebase, expo, а не firebase sdk

1 Ответ

1 голос
/ 18 апреля 2020

Вам не нужно регистрировать приложение Facebook для входа в Facebook с помощью Firebase. Вы можете использовать приведенный ниже код с включенной в консоли Firebase Facebook Authentication.

export const loginWithFacebook = (accessToken) => {
  const credential = initFirebase.auth.FacebookAuthProvider.credential(accessToken);
  return new Promise((resolve, _reject) => {
    signInWithCredential(credential).then(response => {
      resolve(response);
    });
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...