angularjs - $createUser not working -
i using angularjs firebase firebasesimplelogin. worked while ago , doesn't work. login part works fine new users cannot sign up.
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 sec 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 failure log }; } else{ console.log("condition not satisfy"); } }; i pretty sure function usersignup() called since first console.log did print out something. don't know if $createuser performed since console doesn't give anymore.
these rules on firebase forge:
{ "rules": { ".read": true, "$user": { ".write": true } } } is usage of $createuser wrong??
i think problem occurs because firebasesimplelogin part of standard firebase library. see here, deprecated: https://www.firebase.com/docs/web/api/firebasesimplelogin/
from on utilize api described here: https://www.firebase.com/docs/web/api/firebase/createuser.html
if still want object info authentication, utilize .getauth(): https://www.firebase.com/docs/web/api/firebase/getauth.html
try code below:
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 sec 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 business relationship 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 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(); } }); } }); } } angularjs firebase firebasesimplelogin
No comments:
Post a Comment