В parse.com js SDK с помощью .signUp выход из системы текущего пользователя

Я хочу реализовать функцию, при которой администратор с помощью paga может создавать пользователей. Для этого я использую функцию .signUp, все работает нормально, за исключением того факта, что вместо успешного обратного вызова при создании пользователя Parse выходит из системы текущий пользователь.

код следующий

// Create a new announcement with specified title and body.
exports.create = function(req, res) {
  var user = new Parse.User();
  res.locals.path = req.path;
  // Explicitly specify which fields to save to prevent bad input data
  userData = req.body;

  if(userData.email != "undefined"){
    user.set("username", userData.email);
  }
  if(userData.name != "undefined"){
    user.set("name", userData.name);
  }
  if(userData.surname != "undefined"){
    user.set("surname", userData.surname);
  }
  if(userData.password != "undefined"){
    user.set("password", userData.password);
  }
  if(userData.courses){
    if(userData.courses != "undefined"){
      var courses = new Array();
      courses = userData.courses.split(",");
      user.set("courses", courses);
    }
  }

  if(userData.date != "undefined"){
    user.set("birthday", userData.date);
  }
  if(userData.email != "undefined"){
    user.set("email", userData.email);
  }

  if(userData.admin != "undefined"){
    if(userData.admin == "on"){
      user.set("admin", true);
    }else{
      user.set("admin", false);
    }

  }
  if(userData.contact != "undefined"){
    user.set("contact", userData.contact);
  }

  user.signUp(null, {
    success: function(user) {
      res.redirect('/users');
    },
    error: function(user, error) {
      // Show the error message somewhere and let the user try again.

      res.send(500, "Error: " + error.code + " " + error.message);
    }
  });
};

// Create a new tender with specified title and body.
// Update a post based on specified id, title and body.
exports.update = function(req, res) {
  var user = new User();
  res.locals.path = req.path;
  if(req.params.id){
    user.id = req.params.id;
  }


  userData = req.body;
  if(userData.name != "undefined"){
    user.set("name", userData.name);
  }
  if(userData.surname != "undefined"){
    user.set("surname", userData.surname);
  }
  if(userData.password != "undefined"){
    user.set("password", userData.password);
  }
  if(userData.courses != "undefined"){
    user.set("courses", userData.courses);
  }
  if(userData.date != "undefined"){
    user.set("birthday", userData.date);
  }
  if(userData.email != "undefined"){
    user.set("email", userData.email);
  }
  if(userData.email != "undefined"){
    user.set("username", userData.email);
  }

  if(userData.admin != "undefined"){
    if(userData.admin == "on"){
      user.set("admin", true);
    }else{
      user.set("admin", false);
    }

  }
  if(userData.contact != "undefined"){
    user.set("contact", userData.contact);
  }


  Parse.Cloud.useMasterKey();
  user.save().then(function() {
    res.redirect('/users');
  },
  function(err) {
    res.send(500, 'Failed saving user');
  });
};

Это особенность Parse? Есть ли способ избежать выхода из системы текущего пользователя?


person piermaria    schedule 12.10.2015    source источник


Ответы (1)


Метод signUP заменит вашего текущего пользователя и войдет в систему как новый пользователь. Чтобы ваш пользователь-администратор не вышел из системы, вам нужно переместить это в пользовательскую облачную функцию.

person Mo Nazemi    schedule 12.10.2015