如何使用Angular验证Firebase authWithPassword

时间:2015-03-03 11:30:44

标签: angularjs firebase

我在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>

注意:我是关于角度和火力基础的在线资源的新鲜事,...我是一个菜鸟

0 个答案:

没有答案