昨天我的应用程序已启动,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'),
}
});
答案 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,
}
});