ref.$authWithPassword 不是 Firebase 中的函数

ref.$authWithPassword is not a function in Firebase

这些日子里,一个错误接踵而至,jeezzz...使用 firebase 作为我的应用程序的简单数据源非常重要。我正要开始实施 $firebaseSimpleLogin 时它坏了,我通过 Whosebug 发现它已被弃用,取而代之的是 $firebaseAuth。但是,现在我无法更新控制器中的函数,因为它一次又一次地抛出相同的错误:

类型错误: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('password', { 电子邮件:用户名, 密码:密码 }) .then(函数(用户){ //成功回调 console.log('Authentication successful'); }, 函数(错误){ //失败回调 console.log('Authentication failure'); }); } }]);

它告诉我 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 但无法使用我在 angular 中的 login/password 版本重新创建他们的选项。

非常感谢您的帮助,尤其是在今天。谢谢。

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

我已经通过返回 $authWithPassword 并按照 Anid 的 post 添加 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');
            });
  }