我正在为firebaseSimpleLogin使用带有firebase的AngularJS。它在一段时间前起作用了,但突然它就不起作用了。登录部分工作正常,但新用户无法注册。
var userAuthRef = new Firebase(URL+"/userAuth");
$scope.loginObj = $firebaseSimpleLogin(userAuthRef);
$scope.userSignup = function(){
$('.signup.small.modal').modal('hide');
if ($scope.Password!="" && angular.equals($scope.PasswordFirst, $scope.PasswordConfirm)){
console.log($scope.Email + $scope.PasswordConfirm); ////the first log
$scope.loginObj.$createUser($scope.Email,$scope.PasswordConfirm)
.then(function(auth) {
console.log("reached here"); ////the second log
if (auth === null) {
console.log("Error creating user:", error);
} else {
console.log("User created successfully");
$scope.loginObj.$login("password", {
email: $scope.Email,
password: $scope.PasswordConfirm
}).then(function(user) {
console.log("Logged in as: ", user.uid);
userRef = $firebase(new Firebase(someURL+user.uid));
userRef.$set({username: $scope.Username, time: Date(), reported: 0});
$scope.user = userRef.$asObject();
}, function(error) {
console.error("Login failed: ", error);
});
}
}), function(error){
console.error("signup failed: ", error);
////Sign up failure log
};
}
else{
console.log("condition does not satisfy");
}
};我非常确定,自从第一个console.log打印出一些东西以来,函数userSignup()就被调用了。然后我甚至不知道是否执行了$createUser,因为console不再提供任何东西。
以下是Firebase forge上的规则:
{
"rules": {
".read": true,
"$user": {
".write": true
}
}
}$createUser的用法有误吗?
发布于 2014-10-30 18:35:09
我认为这个问题的出现是因为FirebaseSimpleLogin现在是标准firebase库的一部分。请看这里,它已被弃用:https://www.firebase.com/docs/web/api/firebasesimplelogin/
从现在开始使用如下所示的接口:https://www.firebase.com/docs/web/api/firebase/createUser.html
如果您仍然需要包含有关身份验证的数据的对象,请使用.getAuth():https://www.firebase.com/docs/web/api/firebase/getAuth.html
尝试下面的代码:
var userAuthRef = new Firebase(URL);
$scope.userSignup = function() {
if ($scope.Password != "" && angular.equals($scope.PasswordFirst, $scope.PasswordConfirm)) {
$('.signup.small.modal').modal('hide');
console.log($scope.Email + $scope.PasswordConfirm); ////the first log
firebaseRef.createUser({
email: $scope.Email,
password: $scope.PasswordConfirm
}, function(err) {
console.log("reached here"); ////the second log
if (err) {
switch (err.code) {
case 'EMAIL_TAKEN':
console.log("Error creating user, email taken:", error);
case 'INVALID_EMAIL':
console.log("Error creating user, invalid email:", error);
case
default:
console.log("Error creating user:", error);
}
} else {
// User account created successfully!
console.log("User created successfully");
dataRef.authWithPassword({
"email": $scope.Email,
"password": $scope.PasswordConfirm
}, function(error, authData) {
if (error) {
console.log('Login Failed!', error);
} else {
console.log('Authenticated successfully with payload:', authData);
console.log("Logged in as: ", authData.uid);
var userRef = $firebase(new Firebase(someURL + authData.uid));
userRef.$set({
username: $scope.Username,
time: Date(),
reported: 0
});
$scope.user = userRef.$asObject();
}
});
}
});
}
}https://stackoverflow.com/questions/26649115
复制相似问题