2017-04-23 7 views
0

내가 알기로, emberfire auth는 도리를 통해 작동하며 자신의 도리 공급자 (torii-providers/firebase.js)를 포함합니다.emberfire auth + cordova

로그인을 시도하면 firebase 제공자의 signInWithPopup 메소드가 실행됩니다. 코드 바 (location.protocol"file:"과 같습니다)를 통해 응용 프로그램이 모바일 장치에서 실행 중일 때 작동하지 않습니다.

나는 해결 방법을 발견했습니다

  1. 나는 idToken를 얻기 위해 구글을 통해 인증의 코르도바 플러그인을 사용합니다.

  2. 나는 공급자가 signInWithCredential를 사용하는 대체했습니다

    export default ToriiFirebaseProvider.extend({ 
        open(idToken) { 
        const firebaseApp = get(this, 'firebaseApp'); 
        const credentials = get(firebaseApp, 'firebase_.auth.GoogleAuthProvider.credential')(idToken); 
        return firebaseApp.auth().signInWithCredential(credentials); 
        } 
    }); 
    

그것은 지금 작동하지만, 나는 그것이 올바른 해결책 모르겠어요?

답변

0

그래서 팝업 대신 리디렉션을 원하십니까? 원하는 경우 리디렉션 옵션을 설정하면됩니다.

this.get('session').open('firebase', { provider:'google', redirect: true })