контроллер сброса пароля firebase - PullRequest
0 голосов
/ 31 мая 2018

Вчера было запущено мое приложение Ionic v1, и несколько пользователей ввели неправильный пароль и не могут войти в приложение.Приложение использует Firebase аутентификацию.У меня есть файл __refs, который указывает на базу данных, и я пробовал множество вещей, пытаясь заставить сброс работать.Я попытался сослаться на $ firebaseAuth, конечно же, на мои __refs, $ firebase, затем использовать $ firebase.auth () ... Я не писал аутентификацию этого приложения, поэтому я не совсем уверен, как оно работает.Я надеюсь, что кто-то может помочь мне.

Мой контроллер сброса

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

функция ($ scope, $ ionicLoading, $ firebaseAuth, __Refs) {$ scope.user = {email:''};$ 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 голосов
/ 01 июня 2018

Я не могу поверить в ответ, который он дал Абимболе Идову на 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,

  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...