2017-04-23 4 views
0

私が理解したように、emberfire authは鳥居経由で動作し、独自の鳥居(torii-providers/firebase.js)を含んでいます。emberfire auth + cordova

サインインしようとすると、firebaseプロバイダからsignInWithPopupメソッドが実行されます。これは、アプリケーションがコードバ(location.protocol"file:"に等しい)を介してモバイルデバイス上で実行されている場合は機能しません。

私は、回避策を見つけた:

  1. 私はidTokenを得るためにGoogleを経由して、認可のためのコルドバのプラグインを使用します。

  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 })