web-dev-qa-db-de.com

Wie melde ich Benutzer in Firebase 3.0 ab?

Gemäß Dokumentation zwinge ich einen Benutzer, sich mit der Methode signOut() abzumelden.

Das habe ich versucht:

var rootRef = firebase.database().ref();
var loggedInUser = firebase.auth();

1. firebase.signOut(); 
2. loggedInUser.signOut(); 
3. rootRef.signOut();
4. signOut();
5. firebase.auth.signOut();

Ich bekomme ... is not a function Für jede der fünf oben genannten. Ich weiß, dass es kein Problem mit meinem Verweis auf die neue Firebase gibt, da firebase.database().ref(); und firebase.auth(); keinen Fehler auslösen. Ich habe auch die App in die Konsole migriert.

31
hellogoodnight

In JavaScript können Sie den Benutzer abmelden mit:

firebase.auth().signOut().then(function() {
  console.log('Signed Out');
}, function(error) {
  console.error('Sign Out Error', error);
});
77
firebase.auth().signOut()

bei mir funktioniert es einfach!

5

Es gibt verschiedene Möglichkeiten, Benutzer abzumelden:

1. FirebaseUI: Referenz

Abhängigkeiten hinzufügen:

dependencies {
    implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
}

Dann:

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: Referance

Verwende Android Standardauthentifizierungsabhängigkeit, Beispiel:com.google.firebase:firebase-auth:16.0.1

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}).catch(function(error) {
  // An error happened.
});

3. Standard bei Java:

Verwende Android Standardauthentifizierungsabhängigkeit, Beispiel: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();
}
3
Hasib Akter

Ich weiß nicht, ob ich es richtig verstanden habe, aber ob Sie jeden angemeldeten Benutzer abmelden möchten: Dies ist nicht möglich, da der Code ausgeführt wird auf dem Client und der Authentifizierungsstatus sich auf den Client bezieht, auf dem er ausgeführt wird .

Sie können nicht auf jeden Client zugreifen, der mit dem Firebase-Authentifizierungsdienst verbunden ist, da dies bedeuten würde, dass Code auf der Serverseite ausgeführt wird.

Es gibt jedoch eine Option, um die Dauer einer Sitzung anzugeben. Dies ist der Parameter merken Sie sich im Abschnitt auth.

1
Thib