2017-01-28 1 views
0

私はFirebaseの詳細にアクセスするためのログインが必要なAndroidアプリケーションを作成しています。私は現在、 "電子メール&パスワード"認証方式を使用しています。私が実装したいのは、ユーザーが少なくとも一度はアプリにログインした後にログインする手続きです。セキュリティやベストプラクティスについて全く気にしなかった場合、これを行う方法は、デバイスのローカルファイルの一部のユーザーの資格情報をリスルすることです。でもやるよ。Firebaseで簡単な電子メール/パスワード認証方式が与えられた場合、最も適切な迅速なログイン方法は何ですか?

いくつかのグーグルがOAUTHの使用を示唆していますが、私が正しく理解していれば、サポートサービス(Google、Facebook、Twitter、Github)のアカウントを持つ必要があります。このアソシエーションは、このアプリのブランディングには適切ではないと感じています。独立した電子メールパスワードが適しています。

したがって、高速ログインマシンの実装にはどのような提案がありますか?

編集:提案されたメソッドに指定可能な有効期限がある場合は、忘れてしまいました。

答えて

0

共有設定を使用できます。 ユーザーが初めてログインしたときに共有設定でuIdを保存し、ユーザーがあなたのアプリに来るたびにuIdが存在するかどうかを確認します。存在しない場合はログインする必要はありません。 そして、アプリケーションからのユーザーログアウトがすべての共有設定をクリアしたとき。

+0

これは働くだろう。..有効期限(私の編集を参照してください)についての私の願望は扱いませんが、私はそれをAlarmManagerで実装できると思います。 – user1733212

0

Firebase認証では、自動的にユーザーがアプリの再起動後にサインインします。アプリの再起動時にonAuthStateChangedリスナーを添付すると、ユーザーは再びサインインする必要なく作業を続けることができます。

getting the currently signed-in userのドキュメントからこの例を参照してください:

現在のユーザーを取得するための推奨方法はFirebaseAuthオブジェクトにリスナーを設定することにより、次のとおりです。

FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() { 
    @Override 
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
     FirebaseUser user = firebaseAuth.getCurrentUser(); 
     if (user != null) { 
      // User is signed in 
      Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); 
     } else { 
      // User is signed out 
      Log.d(TAG, "onAuthStateChanged:signed_out"); 
     } 
     // ... 
    } 
}); 
+0

ああ。私はこの方法を見た。私がそれを拒否したのは、私が指定することができる期限があったものを見つけることを望んでいたからです...それでも、これは私がこれまでに遭遇した最良の選択肢です。 – user1733212

関連する問題