2017-08-18 15 views
1

私はAndroidアプリケーションでFacebookとGoogle認証を実装しています。FacebookとGoogle認証のシングルログアウト機能を実装する方法

私は両方の認証を完了しましたが、アプリケーションからログアウトするために1つのボタンがあり、フェイスブックまたはGoogleのいずれかでログアウトする方法が2つあります。

FacebookやGoogleなどのアプリケーションにログインしたアカウントのユーザーを考慮して、アプリケーションからログアウトする必要があります。以下は

のFacebookからログアウトするためのコードです:

FacebookSdk.sdkInitialize(getApplicationContext()); 
LoginManager.getInstance().logOut(); 

そして、これは、Googleのためにある:

private void signOut() { 
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
      new ResultCallback<Status>() { 
       @Override 
       public void onResult(Status status) { 
        // ... 
       } 
      }); 
} 

ユーザーがログインしているアカウントの種類に応じて、これらの機能を実装する方法〜に。

ありがとうございます。

答えて

2

オブジェクト指向プログラミングのデフォルトの答え:の別のレイヤーを作成します。

意味:あなたが何かを始める:

public interface Authentification { 
    public void login(); 
    public void logout(); 
} 

と、あなたは、このインターフェイスを実装異なるクラスを作成します。

そして、実行時に、あなたは実装がユーザーのために使用する知っつのクラス/メソッドがある - どんな/は、Google/Facebookを利用して必要な場合は依存し。このメソッドは戻り値としてAuthentificationと表示されます。

他のすべてのコードは、現在のオブジェクトを処理します。つまり、そのインターフェイスを実装します。

0

FacebookやGoogleのような複数の認証プロバイダをサポートするFirebase認証を見てみることをお勧めします。

Firebaseは選択した認証プロバイダのログインとログアウトを処理し、新しい認証プロバイダごとにログイン手順とログアウト手順を開発する必要はありません。

あなたはここにドキュメントを見つける:

https://firebase.google.com/docs/auth/android/start/

関連する問題