Introduction :
Réalisation d'un mécanisme de connexion unique dans une application utilisant l'authentification Firebase garantit que les utilisateurs restent connectés même après la fermeture et la réouverture de l'application. Cela simplifie l'expérience utilisateur et élimine le besoin d'écrans de connexion répétitifs.
Mise en œuvre :
Utilisation de FirebaseAuth AuthStateListener
Pour implémentez une connexion unique, un FirebaseAuth AuthStateListener peut être utilisé. Cet écouteur surveille les changements dans l'état d'authentification, vous permettant de gérer les événements de connexion et de déconnexion des utilisateurs.
LoginActivity :
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser != null) { // If user logged in, redirect to MainActivity // Remove current view to prevent re-displaying LoginActivity startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
MainActivity :
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser == null) { // If user not logged in, redirect to LoginActivity // Remove background activity to ensure single-time login startActivity(new Intent(MainActivity.this, LoginActivity.class)); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
@Override protected void onStop() { super.onStop(); firebaseAuth.removeAuthStateListener(authStateListener); }
Remarque :
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!