Я синхронизирую список друзей для $uid
(в моем коде он определен как userId
), используя трехсторонний метод привязки данных Firebase.
Я заметил, что когда на том же компьютере (я тестирую в том же браузере) я выхожу из системы, а затем вхожу с другим адресом электронной почты, то Firebase продолжает синхронизировать данные из предыдущего userId
Итак, если я сначала войду в систему и использую свой userId = "userId_1"
, а затем выйду из системы, войду с другим адресом электронной почты и моим userId = "userId_2"
, в моем списке друзей я получу трехсторонний список друзей с привязкой к данным из ссылок:
fbREF + "/friends/" + "userId_1"
а также
fbREF + "/friends/" + "userId_2"
Как остановить синхронизацию данных со старым идентификатором пользователя?
Метод
На моей фабрике я синхронизирую следующим образом:
self.syncFriends = function(userId) {
var ref = new Firebase(fbREF + "/friends/" + userId);
return $firebaseObject(ref);
};
где fbREF = "https://CUSTOMREF.firebaseio.com"
;
Когда пользователь вошел в систему, очевидно, что у него есть userId, полученный функцией ref.onAuth(fnCallback)
, которую я вызываю следующим образом:
self.checkSocialAuthState = function() {
var qCheck = $q.defer();
// --
function authDataCallback(authData) {
if (authData) {
qCheck.resolve(authData);
} else {
qCheck.reject("SOCIALAUTH_LOGGED_OUT")
console.log("User is logged out");
}
};
// --
var ref = new Firebase(fbREF);
ref.onAuth(authDataCallback);
return qCheck.promise;
};
Затем userId
встраивается в authData["auth"].uid
.
$unauth()
? firebase.com/docs/ веб/библиотеки/угловой/ - person Daniel Falabella   schedule 21.06.2015