Parse platform 在不重置当前用户会话的情况下创建新用户
在我的Parse web应用程序中,我有一个管理员可以访问的用户管理页面。此页面允许管理员创建新的用户帐户 要创建帐户,我使用Parse platform 在不重置当前用户会话的情况下创建新用户,parse-platform,Parse Platform,在我的Parse web应用程序中,我有一个管理员可以访问的用户管理页面。此页面允许管理员创建新的用户帐户 要创建帐户,我使用Parse.User.signUp() 它工作得很好,但它有一个令人讨厌的副作用,即重置当前用户会话,从而注销创建新用户帐户的管理员 这实际上是用户的行为。signUp(): 这将在服务器上创建一个新的Parse.User,并将会话持久化到localStorage中,以便您可以使用#current访问该用户 但是我想在不改变当前用户的情况下创建新用户。如何执行此操作?在使
Parse.User.signUp()
它工作得很好,但它有一个令人讨厌的副作用,即重置当前用户会话,从而注销创建新用户帐户的管理员
这实际上是用户的行为。signUp()
:
这将在服务器上创建一个新的Parse.User,并将会话持久化到localStorage中,以便您可以使用#current访问该用户
但是我想在不改变当前用户的情况下创建新用户。如何执行此操作?在使用
user.signUp
创建新用户帐户之前,请保存当前用户的sessionToken
。然后,创建新用户后,恢复与用户的会话。变为:
var sessionToken=Parse.User.current().getSessionToken();
Parse.User.signUp(用户名、密码)。然后(函数(newUser){
Parse.User.been(sessionToken);
});
我可以创建一个“解析云”方法,允许您使用“主密钥”,并使用云从SDK调用它
Parse.Cloud.define('salvarUsuario', function(request, response) {
var nomeCompleto = request.params.nomeCompleto;
var Email = request.params.Email;
var Username = request.params.Username;
var cpf = request.params.cpf;
var Password = request.params.Password;
var funcionarioBool = request.params.funcionarioBool;
var ativo = request.params.ativo;
var primeiroAcesso = request.params.primeiroAcesso;
var tipoAcesso = request.params.tipoAcesso;
var medicoBool = request.params.medicoBool;
//Parâmetros de controle
var fotoSelecionada = request.params.fotoSelecionada;
var usuario = new Parse.User();
usuario.set("nomeCompleto", nomeCompleto);
usuario.set("email", Email);
usuario.set("username", Username);
usuario.set("cpf", cpf);
usuario.set("password", Password);
usuario.set("funcionarioBool", funcionarioBool);
usuario.set("ativo", ativo);
usuario.set("primeiroAcesso", primeiroAcesso);
usuario.set("tipoAcesso", tipoAcesso);
usuario.set("medicoBool", medicoBool);
if(medicoBool) {
var medicoId = request.params.medico;
var Medico = Parse.Object.extend("Medico");
var medicoPointer = Medico.createWithoutData(medicoId);
usuario.set("medico", medicoPointer);
}
if(fotoSelecionada) {
var bytes = request.params.bytesFoto;
var file = new Parse.File("foto.png", bytes, "image/png");
usuario.set("foto", file);
}
usuario.save(null, {
useMasterKey: true,
success: function(salvoUsuario){
// The user was saved correctly
response.success("1");
},
error: function(error){
response.error("Erro ao criar novo usuário");
}
});
});
@pascual_bourque我使用了你的代码并得到了这个错误:uncaughttypeerror:Parse.User.been不是一个函数
这应该像解析云代码一样工作。如果您在客户端执行此操作,请确保正确导入解析模块…@pascal\u-bourque我刚刚尝试过,但不起作用,下面是代码(AngularJS)@pascal\u-bourque!我使用的是旧的API版本(1.1)