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 
相关问题