2014-11-05 157 views
0

我一直在试图注册用户的Firebase文档。我正在使用Angular 1.3和Firebase 1.0.24。Firebase createUser方法返回undefined

我只是想创建一个用户。

这里是我的火力地堡规则:

{ 
    "rules": { 
     ".read": true, 
     ".write": true 
    } 
} 

我的标记成功保存用户$ scope.user($ scope.user.email和scope.user.password $)。

在我的控制,我有以下几点:

angular.module('app') 
    .controller('RegisterCtrl', ['$scope','$firebase', 'RegisterFactory', 
     function ($scope, $firebase, RegisterFactory) { 

     $scope.submit = function() { 

       RegisterFactory.Register($scope.user); 

      } 
     }; 
}]); 

控制器发送$ scope.user信息的RegisterFactory,这是如下:

angular.module('app') 
    .factory('RegisterFactory', ['$firebase', function($firebase) { 
     return { 

      Register: function(user) { 

       var ref = new Firebase('https://[redacted].firebaseio.com'); 

       ref.createUser({ 
        email: user.email, 
         password: user.password 
       }, function(error) { 
        if (error === null) { 
         console.log('User created!'); 
         } else { 
         console.log('Error creating user', error); 
        } 
       }); 
      } 
     };   

}]); 

当我在输入信息输入字段并提交注册用户,我收到以下错误:我收到以下错误:

TypeError: undefined is not a function at Object.Register它指向工厂行13:10这是: ref.createUser({

我知道,火力地堡简单登录已被弃用,并且火力地堡现在进行授权的功能,但我想不出什么我做错了。我正在关注这部分Firebase的Google文档:https://www.firebase.com/docs/web/guide/login/password.html

任何帮助表示赞赏。

回答

3

使用Firebase 1.0.24,您需要使用Firebase简单登录库。

您可以在Github上找到的文档:https://github.com/firebase/firebase-simple-login/blob/master/docs/v1/api.md

你指的文档是最新的火力地堡释放。

+0

就是这样。我忘了安装AngularFire要求我使用1.0.24而不是2.0,我降级了。作为一个方面说明 - 任何版本的与Firebase〜2.0兼容的AngularFire?我喜欢Firebase内置的身份验证2.0 ... – Himmel 2014-11-06 15:19:01

+0

我认为0.8.4是兼容的。目前没有问题。 – 2014-11-06 22:52:43