2

我正在使用Firebase 3 JS SDK製作Ionic 2項目。Firebase Facebook登錄Ionic

我在使用firebase FacebookAuthProvider嘗試使用Facebook登錄時遇到問題。

當我嘗試使用

let provider = new firebase.auth.FacebookAuthProvider(); 
let credential = provider.credential(response.authResponse.accessToken); 

在provider.credential來從FacebookAuthProviderAuthCredential它說provider.credential不是一個函數。

這裏是我的全部SerivceProvider功能:

loginUserFacebook() { 
Facebook.login(['email']) 
.then(
    (response) => { 
    let credential: firebase.auth.AuthCredential; 
    credential = new firebase.auth.FacebookAuthProvider().credential(response.authResponse.accessToken); 
    this.fireAuth.signInWithCredential(credential); 
    } 
) 
.catch(
    (error) => { 
    var errorMessage: string = error.message; 
    let prompt = Alert.create({ 
     message: errorMessage, 
     buttons: [{text: "Ok"}] 
    }); 

    this.nav.present(prompt); 
    } 
); 

}

我進口import { Facebook } from 'ionic-native';
,並且已經安裝了cordova-plugin-facebook4

感謝您的幫助!

回答

1

這是一個JavaScript靜態方法。更改爲:

let credential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
+0

當我使用它作爲一個靜態方法,並嘗試用'離子運行android' 編譯下面埃羅顯示出來,而編譯AUTH-data.ts文件: 錯誤TS2339:'typeof FacebookAuthProvider'類型中不存在屬性'憑證'。 [20:41:51] 3.31秒後完成'build' – Lirianer

+3

實際上,這是打字稿定義中的一個錯誤。 Firebase團隊已收到通知並正在進行修復。在此期間使用以下解決方法: ( firebase.auth.FacebookAuthProvider).credential – bojeil

+0

謝謝,工作! 對不起,遲到的迴應。 – Lirianer

0

實際上,這是typescript definitions中的一個錯誤。 Firebase團隊已收到通知並正在進行修復。在此期間使用以下解決方法:---

(<any> firebase.auth.FacebookAuthProvider).credential