1

내 코드는 매우 간단합니다. 사용자가 페이스 북을 통해 인증 한 다음 Firebase 시스템에 추가 할 수있게하려는 것입니다! 필자는 React Native를 사용하고 있다고 언급해야합니다. Firebase 라이브러리의 다양한 부분이 React Native와 작동하지 않는다는 것을 읽었습니다. 어쩌면 내가 그것을 가지고 보장하는 약속의 일종에 넣을 수 있습니다 .. 난 정말이에 대한 생각할 수undefined는 개체가 아닙니다. firebase.auth.FacebookAuthProvider.credential

const auth = firebase.auth(); 
const provider = firebase.auth.FacebookAuthProvider; 

LoginManager.logInWithReadPermissions(['public_profile']) 
.then(loginResult => { 

    alert("login results") 
    if (loginResult.isCancelled) { 
     alert('user canceled'); 
     return; 
    } 
    AccessToken.getCurrentAccessToken() 
    .then(accessTokenData => { 
     const credential = firebase.auth.FacebookAuthProvider.credential(accessTokenData.accessToken); 
     alert("Credential: " + credential) 
     return auth.signInWithCredential(credential); 
    }) 
    .then(credData => { 
     console.log(credData); 
     alert("CRED data:::" + credData) 
     alert(firebase) 
    }) 
    .catch(err => { 
     console.log(err); 
     alert("ERROR:::" + err) 
     alert(firebase) 

    }); 
}); 

유일한 이유는 중포 기지가 정의되지 않은 점이다하거나 것 같다 있지만 그것은 .. 초기화 완료되지 않습니다 초기화 됨. (이 작업을 수행하는 방법에 어떤 아이디어?)

는 중포 기지가 initalized 것 같다 있지만 ..하지만 난 API 레퍼런스를 통해 가서 정말 .auth.FacebookAuthProvider.credential이

존재하지 않을 어떤 이유를 찾을 수 없습니다

도움이 될 것입니다.

+0

정확히 어떤 오류가 콘솔에 표시됩니까? – Jorgeblom

+0

firebase.auth.FacebookAuthProvider.credential (..) 을 provider.credential (..)으로 바꿉니다. – Jorgeblom

+0

최신 3.3.0 버전으로 업그레이드하십시오. 이전 버전의 유형 정의에 문제가있었습니다. – bojeil

답변

3

나는이 똑같은 문제를 겪고 있었고, 나에게 도움이되는 해결책이 있지만, 그것이 똑같을 지 확신 할 수 없다.

내가 그것을 가져 FirebaseService.js

'use-strict'; 

const firebase = require('firebase'); 
const APP_BASE = 'https://your-unique-url.firebaseapp.com/' 

const FIREBASE_CONFIG = { 
    apiKey: '[super_unique]', 
    authDomain: 'your-unique-url.firebaseapp.com', 
    databaseURL: APP_BASE, 
    storageBucket: 'your-unique-url.appspot.com', 
}; 

export const Firebase = firebase.initializeApp(FIREBASE_CONFIG); 

내가 다음 내 코드에 다른 곳에서 그것을 사용했다라는 파일에 별도의 모듈을 통해 내 중포 기지 클래스의 인스턴스를했다 :

const { Firebase } = require ('./services/FirebaseService'); 

페이스 북 로그인을 구현할 때까지 이것은 괜찮은 것처럼 보였습니다. 그리고 그 때부터 똑같은 문제가 생기기 시작했습니다.

페이스 북으로 로그인을 시도하는 화면에서 firebase를 가져와야했습니다. 내 서비스가 필요없는 대신 npm 모듈을 사용했습니다.

const firebase = require('firebase'); 

그런 다음 FacebookAuthProvider.credential에 액세스 할 수있었습니다. 왜 이런 경우인지 모르겠다. 모듈 사용에 문제가있을 수있다.

+0

동일한 정확한 프로세스를 사용하여 똑같은 문제가 발생했습니다. 이상한 ...이 포스트를 발견하게되어 기쁘다! 고마워! –

관련 문제