2016-03-24 7 views
3

私のIonic 2 app as Google AuthenticationからFirebaseまでです。アプリケーションにはFirebase unauth()メソッドを呼び出すログアウトボタンがありますが、Firebaseリファレンスの認証だけが行われ、Google OAuthセッションは終了しません。Ionic 2アプリでGoogle OAuthセッションを(Firebase経由で)強制終了するにはどうすればいいですか?

ログアウトボタンを押してログインボタンをもう一度押すと、ユーザーは自動的に(以前のOAuthセッションを使用して)ログインしています。

Google OAuthセッションを終了するにはログアウトボタンが必要です。ログインボタンをもう一度押すと、もう一度ユーザー名とパスワードの入力を求められます。それをどうすれば実現できますか?

ここに私のコードです:

home.ts

import {Page} from 'ionic-angular'; 

@Page({ 
    templateUrl: 'build/pages/home/home.html' 
}) 
export class HomePage { 
    firebaseUrl: string; 
    ref: Firebase; 

    constructor() { 
     this.firebaseUrl = 'https://xxx.firebaseio.com'; 
     this.ref = new Firebase(this.firebaseUrl); 
    } 

    login() { 
     this.ref.authWithOAuthPopup("google", (error, authData) => { 
      if (error) { 
       console.log("Login Failed!", error); 
      } else { 
       console.log("Authenticated successfully with payload:", authData); 
      } 
     }); 
    } 

    logout() { 
     this.ref.unauth(); 
     console.log('Logout button clicked'); 
    } 

} 

home.html

<ion-navbar *navbar> 
    <ion-title> 
    Home 
    </ion-title> 
</ion-navbar> 

<ion-content class="home"> 
    <button (click)="login()">Sign in with Google</button> 
    <button (click)="logout()">Logout</button> 
</ion-content> 
+0

私は同じ問題があります。解決策が見つかった場合は、この記事を更新してください! – henrikmerlander

答えて

0

私が見つけた唯一の実用的なソリューションがJSONP asynchronous request to https://accounts.google.com/logout

これを作ることでしたコンソールに「汚れた」トリックでエラーを吐き出しますが、それ以外の作業は見つかりませんでしたソリューション。誰かがより良い方法を知っているかどうか教えてください。

+0

私はあなたが持っているのと同じリンクを探しました。 OAuthセッションが残っていることが予想されます。アプリケーションでログアウトするときに、他のGoogleサービスからユーザーをログアウトする必要はありません。 – henrikmerlander

+0

私の場合、私は別のGoogleアカウントで再度ログインできるようにログアウトしたいと思っています。 – nunoarruda

+0

私はそれがこのように動作することを理解することができます、私はいくつかの他のアプリケーションでログアウトを押しただけで私のFacebookのセッションが終了するのが嫌いです。あなたがそれを行う方法を見つけてうれしい! – henrikmerlander

関連する問題