Javascript 如何在解析中将useMasterKey与Node.js一起使用?

Javascript 如何在解析中将useMasterKey与Node.js一起使用?,javascript,node.js,express,parse-platform,parse-cloud-code,Javascript,Node.js,Express,Parse Platform,Parse Cloud Code,大家好,我的应用程序是在parse.com上制作的,但我想使用主密钥,因为我的用户角色是管理员 首先我尝试使用JSSDK,但他们告诉我,我必须使用云代码 我尝试使用Express和Cloud代码,但当我尝试使用Parse.Cloud.useMasterkey()时,控制台会说: 部署失败,错误为:Uncaught Parse.initialize()传递了一个主密钥,该主密钥仅允许从Node.js中传递 我的问题是如何将Node.js与parse一起使用?或者没有节点就无法使用MasterKey

大家好,我的应用程序是在parse.com上制作的,但我想使用主密钥,因为我的用户角色是管理员

首先我尝试使用JSSDK,但他们告诉我,我必须使用云代码

我尝试使用Express和Cloud代码,但当我尝试使用Parse.Cloud.useMasterkey()时,控制台会说:

部署失败,错误为:Uncaught Parse.initialize()传递了一个主密钥,该主密钥仅允许从Node.js中传递

我的问题是如何将Node.js与parse一起使用?或者没有节点就无法使用MasterKey

干杯:)

这是我的代码,管理员或用户想要添加新员工,但只有他能做到,因此在数据浏览器中,用户是主密钥

exports.create = function(req, res){

   Parse.Cloud.useMasterKey();

   var nombre = req.body.nombre;
   var apellido = req.body.apellido;
   var email = req.body.email;
   var telefono =req.body.telefono;
   var celular = req.body.celular;
   var username = req.body.username;
   var password = req.body.pwd;

   //set data in empleado and users
   empleado.set("nombre", nombre);
   empleado.set("apellido", apellido);
   empleado.set("email", email);
   empleado.set("telefono", parseInt(telefono));
   empleado.set("celular", parseInt(celular));
   user.set("username", username);
   user.set("password", password);
   user.set("email", email);

  /* //crear a pointer in Users tables with information of employee 
   user.set("informacionAdicional", empleado);
   user.save();*/

   empleado.save(null,{
    success: function(empleado){
        console.log('Se han guardado los datos del empleado');},
        error: function (error){
             alert("Error"+ error.code + "" + error.message);}
     });


};

您不应该使用来自web的主密钥,这将是不安全的。您需要做的是为数据表分配正确的权限

首先,了解数据安全:

您应该做的是向您尝试创建的类添加正确的写入权限。在这种情况下,这可能是Employee类。确保只有管理员用户才能写入此表。也许您可以添加管理员角色并向该角色添加写入权限

使用javascript SDK,用户首先需要进行身份验证。如果经过身份验证的用户是管理员角色的一部分,则用户将能够添加用户

您不需要使用主密钥,也不应该在客户端使用主密钥。这是不安全的。如果在客户端公开主密钥,任何人都可以读取该密钥并获得对数据库的完全访问权

下面是一些关于完整实现的说明

首先,在html中确保您具有以下内容:

<script src="//www.parsecdn.com/js/parse-1.3.5.min.js"></script>
然后,当需要创建员工时,调用如下函数:

createEmployee({ name: "Some name" });

您是否正在尝试在云函数中使用主密钥?也许你可以给我们一些你的代码样本,以便更好地理解你想做什么?我编辑了这个问题,代码在上面;)。。此代码是否在使用Parse JS SDK的网站上使用?或者您正在尝试编写一个云函数(在解析服务器上运行)?代码正在webapp中使用,是的,我正在使用JSSDK。然后阅读云代码以及如何使用Parse.cloud.useMasterKey();因此,我正在尝试编写一个云函数,我遵循文档中的说明如何构建一个dinamic网站,我正在使用express..谢谢我是confusse,因为我相信如果想要拥有一个管理员或用户,我需要使用Parse.cloud.useMasterkey()。。为了在类中写入数据,我创建了一个管理员角色..:)。祝你过得愉快马格纳斯;)抱歉,我的坏gramar不是我的母语。无论如何,您只能从云方法(即在Parse.com服务器上,而不是客户端应用程序上)调用“Parse.Cloud.useMasterKey();”。马格纳斯O的所有建议都是正确的,比如你应该如何限制你的权限。
createEmployee({ name: "Some name" });