firebase重置密码控制器

时间:2018-05-31 19:48:02

标签: firebase ionic-framework

昨天我的应用程序已启动,Ionic v1,一些用户输入了错误的密码,无法登录该应用程序。 该应用程序使用firebase身份验证我有一个指向数据库的__refs文件,并试图尝试重置工作。 我试过引用$ firebaseAuth,当然我的__refs,$ firebase然后使用$ firebase.auth()...... 我没有写这个应用程序的身份验证,所以我不确定它是如何工作的。我希望有人可以帮助我。

我的重置控制器

angular.module('formulaWizard').controller('ResetPasswordCtrl', 

function($ scope,$ ionicLoading,$ firebaseAuth,__ REfs){     $ scope.user = {       电子邮件:''     };     $ scope.errorMessage = null;

var fbAuth = $firebaseAuth(__Refs.rootRef);

$scope.resetPassword = function() {
  $scope.errorMessage = null;

  $ionicLoading.show({
    template: 'Please wait...'
  });

   fbAuth.sendPasswordResetEmail($scope.user.email)
      .then(showConfirmation)
      .catch(handleError);
};


function showConfirmation() {
  $scope.emailSent = true;
  $ionicLoading.hide();
}

function handleError(error) {
  switch (error.code) {
    case 'INVALID_EMAIL':
    case 'INVALID_USER':
      $scope.errorMessage = 'Invalid email';
      break;
    default:
      $scope.errorMessage = 'Error: [' + error.code + ']';
  }

  $ionicLoading.hide();
}
});

我的参考文件

angular.module('formulaWizard')
 .factory('__Refs', function ($firebaseArray, $firebaseObject) {
// Might use a resource here that returns a JSON arrayf
var ref = new Firebase('https://firebasedatabase.com/');
 return {
    rootRef: ref,
    customers: ref.child('customers'),

}
});

1 个答案:

答案 0 :(得分:1)

我不能赞同Abimbola Idowu在HackHands上提供的答案。
由于我付了答案,我以为我会与其他任何人分享这个问题。

$scope.resetPassword = function() {
  $scope.errorMessage = null;

  $ionicLoading.show({
    template: 'Please wait...'
  });

   __Refs.rootRef.resetPassword({ email: $scope.user.email }, function(error) {
    if (error === null) {
      showConfirmation();
    } else {
      handleError()
    }
  });
};

这是__refs服务

angular.module('formulaWizard')
.factory('__Refs', function ($firebaseArray, $firebaseObject) {
// Might use a resource here that returns a JSON arrayf
var ref = new Firebase('https://firebasedatabase.com/');
  return {
    rootRef: ref,

  }
});