我爲我的Ionic應用程序使用Facebook身份驗證,並且正在使用Firebase模塊進行身份驗證。我相信我已經正確設置了firebase模塊,但是當我嘗試登錄時遇到了一個錯誤。我將指出登錄方法在Web瀏覽器上測試時曾經工作過一次,並且此後已經生成以下錯誤。我已經嘗試過在android模擬器上進行測試,因爲混合了結果(buggy build)。這是我的代碼。Facebook OAuth在Ionic中登錄錯誤
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import firebase from 'firebase';
import { Facebook } from '@ionic-native/facebook';
//import { AngularFireModule } from 'angularfire2';
import { HomePage } from '../home/home';
/**
* Generated class for the LoginPage page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
homePage = HomePage;
constructor(public navCtrl: NavController, public navParams: NavParams, public facebook: Facebook) {
}
login2(){
//this.navCtrl.setRoot(this.homePage);
let provider = new firebase.auth.FacebookAuthProvider();
firebase.auth().signInWithRedirect(provider).then(() => {
firebase.auth().getRedirectResult().then((result) => {
console.log(JSON.stringify(result))
this.navCtrl.push(this.homePage)
})
}).catch(function(error){
console.log(JSON.stringify(error));
});
}
}
模板基本上是與(點擊)= 'Login2身份()' 按鈕。 當我點擊這個按鈕,程序崩潰和重新加載錯誤:
遺漏的類型錯誤:無法讀取性能在HTMLDocument.r空 的「數據集」(bundle.js:6112) R 7 bundle.js :6112
當我點擊這個按鈕,所以我知道它有事情做與我使用火力的方式這隻發生。我想這可能是因爲這些firebase方法需要cordova(因此如果我沒有弄錯,除非本地構建,否則無法工作),或者需要一些額外的設置(我確定firebase數據庫已經存在)分配給監聽器或app.module中的某個東西)。另一個理論是,因爲它曾經工作過一次,它仍然認爲它已經登錄並因此而遇到一些奇怪的錯誤。提前致謝。
OK,要麼這些方法在網頁瀏覽器中運行時的工作(使用離子型服務)?根據我的理解,除非在本地設備上工作,否則cordova特定的內容不可用。如果不是,那麼當沒有本地運行時,我可以使用什麼替代方法? –
如果你想在網絡瀏覽器中做到這一點,那麼這是你需要的一個:https://firebase.google.com/docs/auth/web/facebook-login – javebratt