2015-10-20 72 views
1

我最近实现了我的Parse应用程序的安全性,认为我可以使用服务器上的主密钥(不表示云代码)安全地绕过管理员/服务器的安全实现级别的功能。从服务器使用解析主密钥而不是云代码

我在我的package.json中使用“parse”:“^ 1.5.0”, 。

现在在我的每一个Express模块​​我有:

var Parse = require('parse').Parse; 
Parse.initialize("Application ID", "Javascript Key", "Master Key"); 

一切正常,没有的CLP激活,但与CLP的,我不能做服务器的数据的读/写。我知道我可以将此代码移动到Cloud代码并使其运行,但是我需要在我的代码中使用许多Parse不支持的代码库,并且将所有代码传输到云代码将非常困难。

我在做什么错?

+0

CLP能否敲出服务器上的主密钥? – rashadb

+0

这些日子为什么这么安静呢?我错过了什么?它曾经是一个更加活跃的地方。 – rashadb

+0

它应该与主密钥一起使用。你有没有尝试通过'npm'将你的软件包更新到最新版本? –

回答

2

这是我的工作。

/////////////////////////////////这是JS页面/模块的顶部/// //

'use strict'; 
var Parse = require('parse/node'); 
Parse.initialize('app-id','js-key','master-key'); 

exports.create = function(req, res) { 
    Parse.Cloud.useMasterKey(); 
    //now when you do a parse query or action you can bypass your security settings. 
}; 
+0

意识到你需要调用Parse.Cloud.useMasterKey();在你使用Parse查询的每个函数中。例如。 Parse.Cloud.useMasterKey();当您将它放在Parse.initialize()之上或之下时,它不起作用。 –

+0

@NurImanIzam,我不清楚你的意思,所以我不应该使用Parse.initialize()?我应该只使用Parse.Cloud.userMasterKey()到处? – rashadb

+0

您仍然需要Parse.initialize('app-id','js-key','master-key');一次在文件的顶部。但是Parse.Cloud。每个函数(req,res){..}都需要userMasterKey()。 –