私のionic2アプリはfirebase認証を使用しています。私は、このような複数のプロバイダ(GoogleとFacebook)に同じメールログインを使用すると、認証/アカウントに存在する別の認証情報のエラーを処理しようとします。ionic2アプリで例外を正しく処理する
constructor(public af: AngularFire,public navCtrl: NavController) {
firebase.auth().getRedirectResult()
.then(res=>{
console.log('success',res)
})
.catch((err:any)=>{
console.log(error.message)
if (err.code=='auth/account-exists-with-different-credential'){
doaccountlink();
}
})
}
fblogin(){
firebase.auth().signInWithRedirect(new firebase.auth.FacebookAuthProvider())
}
gglogin(){
firebase.auth().signInWithRedirect(new firebase.auth.GoogleAuthProvider())
}
(期待通りに)私はcatchブロックでそのエラーコードをキャッチすることができますが、問題は例外で、まだコンソールに表示し、私のページも(画像を添付参照)にエラーが表示されます。私はjavascript/typescriptに新しいです、もし私がすでにキャッチブロックでエラーをキャッチするなら、それはうまくいくはずです。私のコードで何か間違っています。私のページにこの例外が表示されないようにするにはどうすればいいですか?
カスタムエラーハンドラを使用すると、ページに表示されるエラーを避けることができます。コンソールに表示するだけです。しかし、私はエラーが処理し、キャッチボックスで完了する必要がありますと思います。 IonicErrorHandlerまたはmyCustomHandlerを参照しないでください。問題を再現するには、空のionic2プロジェクトを作成し、angularfire2モジュールを追加し、次にhome.tsに2つの関数(ggloginとfblogin)を書きます。ここで提供していないものは、app.module.tsのfirebase configです。 – user1084081
@ user1084081これはバグかもしれませんか? https://github.com/angular/angularfire2/issues/566#issuecomment-250344817 – Clark