ref。$ authWithPassword不是Firebase中的函数

时间:2015-10-01 18:32:11

标签: firebase firebase-authentication

其中一天有一个bug跟随另一个jeezzz ...使用firebase作为我的应用程序的简单数据源。当它崩溃时我正准备开始实现$firebaseSimpleLogin并且我发现stackoverflow它被弃用而不是$firebaseAuth。但是,现在我无法更新控制器中的函数,因为它会一次又一次地抛出相同的错误:

TypeError:ref。$ authWithPassword不是函数

我已将所有依赖项添加到我的控制器,从我的firebase源创建了ref对象,但仍然不允许我的用户(已创建)登录i。这是代码:

controllersModule.controller('HomeCtrl',  ["$scope", "$firebaseAuth",
  function($scope, $firebaseAuth) {
    var ref = new Firebase("https://<MYUSERAPI>.firebaseio.com");
     var auth = $firebaseAuth(ref);

  $scope.user = {};
  $scope.SignIn = function(e){
     e.preventDefault();
     var username = $scope.user.email;
     var password = $scope.user.password;

//修正 - 仍然出错           auth。$ login(&#39;密码&#39;,{                 电邮:用户名,                 密码:密码             })                 .then(function(user){                     //成功回调                     console.log(&#39;身份验证成功&#39;);                 },function(error){                     //失败回调                     console.log(&#39;身份验证失败&#39;);                 });       }     }]);

它告诉我at ref。$ authWithPassword不是函数?我错过了一个插件吗?

我有以下版本的firebase和Angular fire:

          <script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
          <script src="https://cdn.firebase.com/libs/angularfire/1.1.3/angularfire.min.js"></script>

我已进入此页面https://www.firebase.com/docs/web/guide/login/password.html但无法使用我的登录/密码版本以角度重新创建其选项。

特别感谢今天的任何帮助。感谢。

2 个答案:

答案 0 :(得分:1)

我已经修复了返回$ authWithPassword并按照Anid的帖子添加auth并且它可以正常工作。

$scope.user = {};
  $scope.SignIn = function(e){
     e.preventDefault();
     var username = $scope.user.email;
     var password = $scope.user.password;
     auth.$authWithPassword ({
                email: username,
                password: password
            })
            .then(function(user) {
                //Success callback
                console.log('Authentication successful');
            }, function(error) {
                //Failure callback
                console.log('Authentication failure');
            });
  }

答案 1 :(得分:0)

$authWithPassword是一种AngularFire方法,而不是Firebase参考方法。您应该在auth变量上调用该方法。