Więc ilekroć wylogować z Firebase, mam połączonyWylogowanie z Firebase show Błąd odmowy uprawnień.
Error: permission_denied: Client doesn't have permission to access the desired data.
Rozumiem to dlatego sesja logowania jest zakończona, niektóre z moich przedmiotów nie może uzyskać dostępu do danych Firebase więcej. Ale jak mogę odłączyć te obiekty przed wylogowaniem?
Dla przycisku wylogowania w jednym z moich Ionic widzenia, to właśnie nazywamy Firebase usługę:
function logout() {
auth.$unauth();
getCurrentUser();
};
function getCurrentUser() {
var authData = auth.$getAuth();
if (authData) {
$rootScope.userId = authData.uid;
$rootScope.currentUser = $firebaseObject(authRef.child("users").child(authData.uid));
return $rootScope.currentUser;
} else {
console.log("User is not login!");
$rootScope.userId = null;
$location.path("/auth/signin");
if ($rootScope.currentUser) {
$rootScope.currentUser.$destroy();
}
}
};
Więc zniszczyć $ rootScope.currentUser tam. Używam tego samego getCurrentUser dla strony profilu. Błąd nie pojawił się w ten sposób. Ale gdy w innych widokach, które mam inny $ firebaseArray, a także inny Ref.on ("child_added", funkcja (przystawki) z tym samym $ firebaseObject. Kiedy przeglądam stronę profilu, to ta strona z co najmniej 3 firebase połączenia , Mam 3 błędy allow_denied, gdy się wylogowuję (przycisk wylogowania znajduje się na stronie profilu użytkownika)
Moje pytanie brzmi: jak mogę odłączyć to połączenie firefase przed wylogowaniem? Czy istnieje sposób na rozłączenie WSZYSTKIEGO połączenia z firebase - bez względu na to, AngularFire lub zwykłą Firebase? Czy mogę się wylogować bez martwienia się o to, które połączenie z firewallem nie mam jeszcze blisko? Ponadto, ponieważ przycisk Logout znajduje się w zasięgu Profilu, a pozostałe połączenia mają inny zakres, nie mam pojęcia, jak zamknąć połączenie który nie jest nawet w zakresie profilu ...
Czy robisz coś, używając "$ onAuth"? Może w twojej fabryce? – jbdev
Tak, mam. Ale używanie onAuth nadal nie będzie wiedzieć, co powinienem zamknąć podczas wylogowywania. Ponieważ moje instancje są wszędzie. I większość z nich nie mogę zamknąć podczas widoku urlopu, ponieważ wszyscy muszą słuchać aktualizacji z firebase. –