我试图通过以下方式将Ionic 2与firebase auth一起使用:
signInWithFacebook(): firebase.Promise<FirebaseAuthState> {
if (this.platform.is('cordova')) {
console.log("trying to log in using cordova...");
Facebook.login(['email', 'public_profile']).then(res => {
console.log("Logged in. result here");
const facebookCredential = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
console.log(firebase.auth().signInWithCredential(facebookCredential));
return firebase.auth().signInWithCredential(facebookCredential);
});
} else {
return this.auth$.login({
provider: AuthProviders.Facebook,
method: AuthMethods.Popup
});
}
}
此代码在Web上效果很好,但在Android(Cordova)中不起作用。
我调试了为什么登录按钮不起作用,并发现以下错误:
例外:./ HomePage类HomePage中的错误-内联模板:6:0由以下原因引起:无法读取未定义的属性'then'...。
在这里登录。结果
例外:未捕获(承诺):ReferenceError:未定义firebase ReferenceError:firebase未在t.invoke的file:///android_asset/www/build/main.js:42039:42处定义...
关于第二个问题(未定义firebase)
`import firebase from 'firebase';`
但是Ionic 2 build返回了错误。
我只是在使用Ionic 2的Angularfire2 auth中使用了代码。
任何人都不知道为什么会发生吗?
你不回来了Facebook.login()
。因此,我相信当您尝试在组件中访问它时,它会返回错误。
return Facebook.login(['email', 'public_profile']).then(res => {
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句