Firebase-Logout zeigt den Fehler "Berechtigung verweigert" an.

9

Also, wann immer ich mich von Firebase abmelde, wurde ich verbunden

%Vor%

Ich verstehe, dass einige Anmeldeobjekte nicht mehr auf Firebase-Daten zugreifen können, weil die Anmeldesitzung beendet wird. Aber wie kann ich diese Objekte vor dem Abmelden trennen?

Zum Abmelden-Button in einer meiner Ionic View, rufen Sie einfach einen Firebase-Service auf:

%Vor%

Also zerstöre ich dort den $ rootScope.currentUser. Ich benutze den gleichen getCurrentUser für die Profilseite. Der Fehler ist also nicht aufgetaucht. Aber wenn in anderen Ansichten, die ich ein anderes $ firebaseArray, und auch eine andere Ref.on ("child_added", Funktion (snap) mit dem gleichen $ firebaseObject. Wenn ich die Profilseite anzeigen, dann diese Seite mit mindestens 3 Firebase-Verbindung , Ich habe 3 permission_denied Fehler, wenn ich mich abmelde (Logout-Taste ist auf der Benutzerprofilseite).

Meine Frage ist, wie kann ich diese Firebase-Verbindung trennen, bevor ich mich abmelde? Gibt es eine Möglichkeit, ALLE Firebase-Verbindungen zu trennen - egal, ob AngularFire oder regulärer Firebase? So kann ich mich abmelden, ohne mich Gedanken machen zu müssen, über welche Firebase-Verbindung ich noch keine enge Verbindung habe? Da die Schaltfläche "Abmelden" sich im Bereich "Profil" befindet und die andere Verbindung in einem anderen Bereich liegt, habe ich keine Ahnung, wie die Verbindung geschlossen wird, die nicht einmal im Profilbereich liegt ...

    
Hugh Hou 10.06.2015, 02:27
quelle

3 Antworten

2

Sie müssen alle Firebase-Referenzen beim Abmelden löschen. So etwas.

In der Abmeldefunktion.

%Vor%

Im Controller

%Vor%     
Hardik Sondagar 30.01.2016 06:10
quelle
0

Nun, ich nehme an, Sie haben eine Schaltfläche zum Abmelden. Also in Ihrer Funktion logout () würden Sie zuerst das Datenobjekt zerstören, irgendwie warten (was die beste Vorgehensweise ist, die ich herausfinden will), und dann authref.unauth (); ich würde sagen

    
user3704232 05.08.2015 21:44
quelle
-1

Sie müssen den Firebase-Verweis für das Objekt löschen, für das Sie zuvor Daten gespeichert haben. Wie?

Vorher initialisiere ich meine var Songs wie: this.songs = this.af.list ('/ songs');

Wenn ich signout (), sollte ich den Verweis der Variablen, die ich initialisiert habe, zerstören, so dass ich ausführen:

this.songs. $ ref.off ();

Mit dieser Zeile, Ihr Problem

    
Nacho Sizle 13.06.2017 19:14
quelle