0

私はanglefire/ionic/cordovaアプリに少し問題があり、特にFacebookの認証では、私は のコードをプッシュしています。 (私のAuthコントローラーでAuth.loginというサービス機能を呼び出しますが、このコード部分は実行されません) このコードは完全にionic -serveで動作します。 しかし、エミュレータまたは私のデバイス(iphone)のfaceboookログインにアクセスすることは不可能です。 「FBでログイン」をクリックすると何もありません。 この問題を解決する方法を理解できません。 私を助けることができますか?ionic/firebase/cordova facebook Auth

app.factory("Auth", function($ionicModal, Findcity, $firebaseAuth,$localStorage, FirebaseUser, geoLocation){ 

var provider = new firebase.auth.FacebookAuthProvider(); 
provider.addScope('user_birthday'); 
provider.addScope('user_location'); 
provider.addScope('email'); 
provider.addScope('user_photos'); 
provider.addScope('public_profile'); 
provider.addScope('user_about_me'); 


var Auth = { 

login: function() { 
    return $firebaseAuth().$signInWithPopup(provider) 
    .then(function(result) { 
     $localStorage.fbAccessToken = result.credential.accessToken; 
     var facebookUser = firebaseAuth$().$getAuth().providerData[0]; 
     return FirebaseUser.get(facebookUser.uid) 
     .then(function(user){ 
     console.log(facebookUser); 
     if(user.$value == null) { 
      console.log(user); 
     FirebaseUser.save(facebookUser); 
     }else { 
     var lat = geoLocation.getGeolocation().lat; 
     var lng = geoLocation.getGeolocation().lng; 
     Findcity.city(lat, lng).then(function(city){ 
      var city_user = city; 
      return firebase.database().ref('/users/' + facebookUser.uid).child('location').update({lat: lat, long: lng, city: city_user}) 
     }) 
     } 
    }) 
    }); 
}, 
    return Auth; 
}); 

答えて

0

現在、Firebase 3.x signInWithPopup/Redirectは、Cordova環境ではサポートされていません。これがサポートされるまで(作業中)、他のプラグインを使用してFacebook、GoogleのOAuthレスポンスを取得し、代わりにsignInWithCredentialを使用することができます。 https://www.npmjs.com/package/cordova-plugin-facebookのようなものを使ってFacebookのアクセストークンを取得し、auth.signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken))でサインインすることができます。

+0

しかし、私がサーバ上でイオンを出しているときはすべてうまくいくが、IOSでエミュレートすると何も起こりません。これは、Firebase 3.xのsignInWithPopup/Redirectが現在Cordova環境でサポートされていないためですか? – alex

+0

最初のステートメントが何を意味するかわかりません。コードバスアプリを構築する場合、signInWithPopup/Redirectは現在サポートされていません。これらのメソッドを呼び出すと、この環境エラーでサポートされていない操作が発生します。 – bojeil

関連する問題