루트 로그인되어 있는지 확인하는 방법 :firebaseAuth, 사용자가
var app = angular
.module('defexApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'firebase'
])
.constant('FIREBASE_URL', 'https://defex.firebaseio.com/')
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/landing.html',
})
.when('/add', {
templateUrl: 'views/defects.html',
controller: 'DefectCtrl'
})
.when('/login', {
templateUrl: 'views/login.html',
controller: 'AuthCtrl',
resolve: {
currentUser: function(Auth) {
return Auth.signedIn();
}
}
})
.when('/register',{
templateUrl: 'views/register.html',
controller: 'AuthCtrl',
resolve: {
currentUser: function(Auth) {
return Auth.signedIn();
}
}
})
.when('/defects/:defectId', {
templateUrl: 'views/defectview.html',
controller: 'DefectViewCtrl',
resolve: {
currentUser: function(Auth) {
return Auth.resolveUser();
}
}
})
.when('/defectlist', {
templateUrl: 'views/defectList.html',
controller: 'DefectCtrl',
resolve: {
currentUser: function(Auth) {
return Auth.resolveUser();
}
}
})
.otherwise({
redirectTo: '/'
});
});
서비스 : 내가 제대로 $ waitForAuth 또는 $ requireAuth를 사용하고 있다면 나도 몰라
'use strict';
app.factory('Auth', function($firebase, $firebaseAuth, FIREBASE_URL) {
var ref = new Firebase(FIREBASE_URL);
var auth = $firebaseAuth(ref);
var Auth = {
register: function(user) {
return auth.$createUser({email: user.email, password: user.password});
},
login: function(user) {
return auth.$authWithPassword({email: user.email, password: user.password});
},
logout: function() {
return auth.$unauth();
},
resolveUser: function() {
return auth.$requireAuth();
},
signedIn: function() {
return auth.$waitForAuth();
},
user: {}
};
return Auth;
});
. 내가하고 싶은 것은 views/defects/: defectid와/defectlist에 대한 것입니다. 뷰를로드하기 전에 사용자가 인증되었는지 확인하고 싶습니다. 그래서 $ requireAuth를 사용하는 함수를 사용했습니다. 그러나 로그인 여부에 관계없이 주소 표시 줄에/defectlist를 입력 할 수 있으며보기로드가 올바르지 않다고 확신 할 수 있습니다. 또한 사용자가 로그인했는지 어떻게 확인합니까? 사용자가 로그인했는지 여부에 따라 ng-hide 또는 ng-show를 원하고 $ getAuth를 사용할 수 있다고 생각합니까? 나는 잘 모르겠다. 어떤 도움이나 조언을 주시면 감사하겠습니다!
this example 참조 (https://github.com/firebase/angularFire-seed)? 여기에서 설명한 방법을 사용하며 인증을 기다리는 것과 리디렉션 및 기타 인증 관련 기능을 보여줍니다. 또한 이러한 개념을 다룬 [문서의 섹션] (https://www.firebase.com/docs/web/libraries/angular/guide.html#section-angular-authentication)도 있습니다. – Kato