Maison > Java > javaDidacticiel > Comment implémenter une connexion unique avec l'authentification Firebase sous Android ?

Comment implémenter une connexion unique avec l'authentification Firebase sous Android ?

Patricia Arquette
Libérer: 2024-12-09 06:07:14
original
476 Les gens l'ont consulté

How to Implement Single-Time Login with Firebase Authentication in Android?

Implémentation de connexion unique dans une application avec authentification Firebase

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 :

  1. Créez un AuthStateListener :
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();
        }
    }
};
Copier après la connexion
  1. Commencez à écouter onStart() :
@Override
protected void onStart() {
    super.onStart();
    firebaseAuth.addAuthStateListener(authStateListener);
}
Copier après la connexion
Copier après la connexion

MainActivity :

  1. Créer un AuthStateListener :
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));
        }
    }
};
Copier après la connexion
  1. Commencez à écouter onStart() :
@Override
protected void onStart() {
    super.onStart();
    firebaseAuth.addAuthStateListener(authStateListener);
}
Copier après la connexion
Copier après la connexion
  1. Arrêter d'écouter dans onStop() :
@Override
protected void onStop() {
    super.onStop();
    firebaseAuth.removeAuthStateListener(authStateListener);
}
Copier après la connexion

Remarque :

  • Les deux activités nécessitent un FirebaseAuth exemple :
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
Copier après la connexion
  • Dans les deux activités, la suppression des auditeurs dans onStop() garantit une bonne gestion des ressources.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal