在parse.com js SDK中使用. signup注销当前用户

In parse.com js SDK using .signUp logout the current user

本文关键字:注销 signup 用户 com parse js SDK      更新时间:2023-09-26

我想实现的功能,其中和管理员使用一个页面可以创建用户。为了实现这一点,我使用。sign up函数,一切都工作得很好,除了一个事实,而不是使用回调成功,在创建用户时,解析注销当前用户。

代码如下

// 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的一个特性吗?是否有任何方法可以避免当前用户的注销?

signUP方法将替换您当前的用户,并将您作为新用户登录。为了避免admin用户被注销,您需要将其移到自定义云功能中。