Parse-Server注册invalidsessiontoken错误

调用user.signUp()时出现user.signUp()错误。 这个过程是我打电话给我的云代码function来创build一个新的用户,并发回sessionToken成为客户端的用户。 云代码:

 var user = new Parse.User(); user.set("firstname", fname); user.set("lastname", lname); user.set("birthdate", birthdate); user.set("username", email); user.set("email", email); user.set("password", pass); user.set("emailVerified", false); user.signUp(null, { success: function(user){ var acl = new Parse.ACL(); acl.setPublicReadAccess(false); acl.setPublicWriteAccess(false); user.setACL(acl); user.save(null, { useMasterKey: true }).then(function(user){ sendEmailVerification(user.get("email"), function(error){ if(error){ console.log("USER SENDEMAILVERIFICATION ERROR!!!!!!!!!!!!!!"); sendMsg(res, error.code, error.message); return; } sendMsg(res, 200, user.getSessionToken()); }); }, function(error){ console.log("USER SAVE ERROR!!!!!!!!!!!!!!!!"); sendMsg(res, error.code, error.message); }); }, error: function(user, error){ console.log("USER SIGNUP ERROR!!!!!!!!!!!!!!!!!!") sendMsg(res, error.code, error.message); } }); 

invalidsessiontoken总是出现在用户注册错误。 我不确定是什么原因造成的,因为我认为那时候甚至不应该有一个会话令牌。 当在客户端发现一个invalidsessiontoken错误时,我尝试再次呼叫注销,然后重新启动云代码,但是会导致无限循环。

当您使用user.signUp时,创build用户后连接用户。 在这种情况下,这是不是一个好主意连接到云代码的问题。

它们与常规parsing中的云代码有所不同。 如果您在一个function中连接,另一个用户在运行云端function,则仍然与第一个用户连接。 从同样的原因,他们在云代码中没有Parse.User.current()

我认为最好的select是从客户端注册。 您不必传递会话令牌并使用become函数。

如果你想检查使用beforesave触发器的值,然后决定是否创build或不创build用户。