Я использую $firebaseAuth для управления входной частью моего приложения. Раньше все работало нормально, но теперь, при обновлении, я сразу выхожу из системы.
Часть моего маршрута:
}).when("/login/", {
templateUrl:"partials/login.html",
controller:"tiki.controller.login"
}).when("/settings/profile/", {
templateUrl:"partials/settings.profile.html",
controller:"tiki.controller.settings.profile",
resolve:authenticate()
})
Функция аутентификации():
function authenticate(){
return {"currentAuth": ["firebaseAuth", function(firebaseAuth) {
console.log(firebaseAuth.requireAuth())
return firebaseAuth.requireAuth();
}]}
}
Блок .run(), который перехватывает ошибку изменения маршрута:
angular.module('tiki').run(["$rootScope", "$location", function($rootScope, $location) {
$rootScope.$on("$routeChangeError", function(event, next, previous, error) {
// We can catch the error thrown when the $requireAuth promise is rejected
// and redirect the user back to the home page
if (error === "AUTH_REQUIRED") {
$location.path("/login/");
}
});
}]);
И для полноты мой сервис firebaseAuth.js:
'use strict';
/* Services */
angular.module("tiki").factory("firebaseAuth", ["$firebaseAuth", function($firebaseAuth){
var ref = new Firebase("https://blistering-xxx.firebaseio.com/");
if(ref){
var service = $firebaseAuth(ref)
}
function loginFacebook(){
return service.$authWithOAuthPopup("facebook")
}
function logOut(){
service.$unauth()
}
function getState(){
var state = service.$getAuth()
if(state){
return state
}
}
function getUserName(){
if(getState()){
return getState().facebook.displayName
}
}
function requireAuth(){
return service.$requireAuth()
}
function service(){
return service
}
return {
loginFacebook:loginFacebook,
logOut:logOut,
getState:getState,
getUserName,
requireAuth:requireAuth,
service:service
}
}])
Когда я обновляюсь в /settings/profile/, я выхожу из системы и возвращаюсь в /login/.
console.log() в функции authentication() возвращает следующее:
status: 2
value:"AUTH_REQUIRED"
Это происходит только при обновлении на всех страницах. Если я не обновляюсь, то аутентификация работает нормально.
Любые идеи?
спасибо,