Selon documentation , je force un utilisateur à se déconnecter avec la méthode signOut()
.
C'est ce que j'ai essayé:
var rootRef = firebase.database().ref();
var loggedInUser = firebase.auth();
1. firebase.signOut();
2. loggedInUser.signOut();
3. rootRef.signOut();
4. signOut();
5. firebase.auth.signOut();
Je reçois ... is not a function
Pour chacun des cinq éléments ci-dessus. Je sais que ma référence à la nouvelle Firebase ne pose aucun problème, puisque firebase.database().ref();
et firebase.auth();
ne génère pas d'erreur. J'ai également migré l'application dans la console.
En JavaScript, vous pouvez déconnecter l'utilisateur avec:
firebase.auth().signOut().then(function() {
console.log('Signed Out');
}, function(error) {
console.error('Sign Out Error', error);
});
firebase.auth().signOut()
ça marche tout simplement pour moi!
Il y a plusieurs façons de se déconnecter utilisateur:
1. FirebaseUI: référence
Ajouter des dépendances:
dependencies {
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
}
Ensuite:
public void onClick(View v) {
if (v.getId() == R.id.sign_out) {
AuthUI.getInstance()
.signOut(this)
.addOnCompleteListener(new OnCompleteListener<Void>() {
public void onComplete(@NonNull Task<Void> task) {
// user is now signed out
startActivity(new Intent(MyActivity.this, SignInActivity.class));
finish();
}
});
}
}
2. Kotlin: référence
Utiliser Android Dépendance de l'authentification par défaut, ex:com.google.firebase:firebase-auth:16.0.1
firebase.auth().signOut().then(function() {
// Sign-out successful.
}).catch(function(error) {
// An error happened.
});
3. Par défaut avec Java:
Utiliser Android Dépendance de l'authentification par défaut, ex:com.google.firebase:firebase-auth:16.0.1
FirebaseUser user = mAuth.getCurrentUser();
if (user != null){
mAuth.signOut();
Toast.makeText(this, user.getEmail()+ " Sign out!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "You aren't login Yet!", Toast.LENGTH_SHORT).show();
}
Je ne sais pas si j'ai bien compris, mais si vous voulez vous déconnecter de chaque utilisateur connecté: ce n'est pas possible car le code est en cours d'exécution sur le client et l'état auth fait référence au client qui l'exécute. .
Vous ne pouvez pas accéder à tous les clients connectés au service d'authentification de la base firebase, car cela signifierait exécuter du code côté serveur.
Cependant, il existe une option pour spécifier la durée d'une session, qui est le paramètre rappelez-vous dans la section auth.