我在lynda上观看了一段视频,但不幸的是,它没有使用最新版本的API。
该视频显示了如何使用firebaseSimpleLogin,但如果我想要一封电子邮件,则会将其更改为authWithPassword。密码类型的身份验证。
我可以登录,注销并注册
问题是:我无法验证用户是否已登录或退出。
这是我的代码:
工厂
GlobalCtrl.factory('Auth', ['$firebaseAuth', function($firebaseAuth){
var ref = new Firebase("https://taxiq-app.firebaseio.com"); //call on firebase database
//var objects = $firebase(ref) // reference database
return $firebaseAuth(ref);
}]);
控制器
taxiGlobalCtrl.controller('LoginController',['$scope','$firebase','Auth' ,'$location', function($scope, $firebase,Auth, $location){
$scope.login = function(){
Auth.$onAuth(function(authData) {
$scope.authData = authData;
console.log($scope.authData);
});
Auth.$authWithPassword({
email: $scope.username,
password: $scope.password
}).then(function(authData) {
console.log("Logged in as:", authData.uid);
$location.path('/tickets');
}).catch(function(error) {
console.error("Authentication failed:", error);
$scope.loginError = "loging error";
});
}
}]);
登录后将显示退出的naV
<div>
<a class="navbar-brand" ng-href="#">Tiketa</a>
<ul class="nav navbar-nav">
<li ng-hide="authData"><a ng-href="#/login">Login</a></li>
<li ng-hide="authData"><a ng-href="#/register">Register</a></li>
<li ng-show="authData"><a ng-href="#/tickets">Tickets</a></li>
<li ng-show="authData"><a ng-href="#" ng-click="auth.$unauth()">logout</a></li>
</ul>
注意:我是关于角度和火力基础的在线资源的新鲜事,...我是一个菜鸟