Firebase 認証: 電話番号認証によるワンタイム ログインの実装
Firebase 認証では、署名したユーザーのワンタイム ログインを実現します電話番号経由でログインするには、アプリを閉じて再度開いた後でも永続的なログイン状態を維持する必要があります。これにより、ログアウト機能が不要になります。
解決策:
Firebase AuthStateListener を利用すると、この機能を効果的に確立できます。実装方法は次のとおりです。
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser != null) { // User is logged in, proceed to MainActivity Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); finish(); } } };
このリスナーは、認証状態の変化を監視します。ユーザーがログインしている場合、MainActivity へのナビゲーションが開始されます。
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(); firebaseAuth.addAuthStateListener(authStateListener);
FirebaseAuth をインスタンス化します。オブジェクトを取得し、onStart() で変更のリッスンを開始します。
MainActivity で、ユーザーが認証されていない場合を処理する同様の AuthStateListener を作成します。ログインして、にリダイレクトします。 LoginActivity.
アクティビティが一時停止したら、不要なコールバックを避けるためにリスナーを削除します:
@Override protected void onStop() { super.onStop(); firebaseAuth.removeAuthStateListener(authStateListener); }
次の手順に従うことで、携帯電話でサインインしたユーザーが確実に 1 回限りのログインを行うことができますFirebase Authentication を使用した番号。
以上がFirebase Authentication を使用してワンタイム電話番号ログインを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。