我有一个用于更新用户信息的表单,包括Firebase JSON树和保存用户的电子邮件+密码组合的单独数据库。每当您想要更新电子邮件或密码时,您需要提供电子邮件+密码组合才能使其正常工作。
但是,当您只想更新JSON树时,可以在没有密码的情况下进行更新。我的表单要求您在发生任何事情之前输入当前密码,但如果输入错误的密码,它仍会更新用户的显示名称。
所以我的问题是,在实际更新数据库中的任何内容之前,有没有办法可以要求正确密码?
我的控制器中的代码:
//If the user has entered a new display name
if (sharedInfo.getUser().displayName !== $scope.user.displayName) {
var isNameChanged = userLogic.changeDisplayName($scope.user);
isNameChanged.then(function(isSuccessful) {
if (isSuccessful === true) {
$scope.isSuccessful = true;
}
else {
$scope.error = 'Update failed';
}
});
}
我服务中的功能:
changeDisplayName: function(user) {
//Get the user ID
var userData = sharedInfo.getAuthState();
return fbRef.getSyncedReference('users/' + userData.uid).$update({displayName: user.displayName}).then(function() {
return true;
}, function(error) {
return false;
});
}