J'utilise $ firebaseAuth pour contrôler la partie connexion de mon application. Tout a bien fonctionné avant, mais maintenant, à l'actualisation, je suis immédiatement déconnecté.
Une partie de mon itinéraire:
}).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()
})
La fonction Authentifier():
function authenticate(){
return {"currentAuth": ["firebaseAuth", function(firebaseAuth) {
console.log(firebaseAuth.requireAuth())
return firebaseAuth.requireAuth();
}]}
}
Le bloc .run() qui attire un changement d'itinéraire erreur:
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/");
}
});
}]);
Et pour mon service complétude 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
}
}])
Quand je rafraîchir dans/paramètres/profil/i get DÉCONNECTÉ et returend à/login /.
La fonction console.log() dans la authenticate() retourne ceci:
status: 2
value:"AUTH_REQUIRED"
Cela se produit uniquement lors de l'actualisation sur toutes les pages. Si je ne rafraîchis pas, l'authentification fonctionne correctement.
Des idées?
thx,
Rick, merci pour votre réponse, mais il semble avoir été résolu. Je n'ai rien changé à mon code, donc je suppose que c'était un problème de firebase. – kevinius