在Parse Cloud Code中创建不需要授权的功能

时间:2016-06-14 13:30:36

标签: parse-platform parse-server slack-api

我在AWS上运行了我自己的Parse Server实例,到目前为止,Cloud Functions一直运行良好,但有一点需要注意:它们无法公开成功调用,即需要在REST中发送授权密钥请求标题。

我想为我的服务器设置一个Slack Slash Command,它必须能够在没有任何标头或额外参数的情况下发布有效负载。因此,我的请求目前是未经授权的(返回403状态)。

是否有办法对Parse Cloud Function的授权进行精细控制(即,是否需要主密钥头),如果不需要 - 是否有一种转发请求但仍然通过Parse服务器的方法? - 甚至是一种操纵Slack请求标头的方法?我宁愿不必仅使用其他服务进行请求转发。

谢谢!

1 个答案:

答案 0 :(得分:0)

两个选项

在客户端请求中传入主密钥,该主密钥应绕过授权。这是一个直截了当的方法,但在你的情况下可能没问题(不知道更多细节)。

或者在解析旁边运行一个新的express端点,然后使用masker密钥调用解析云函数。

var api = new ParseServer(...)
var app = express();
app.use('/parse', api);
app.get('/api/slack', function(req, res) {
    //call cloud function passing in master key
    // add X-Parse-Master-Key as http header
    unirest.post("http://myhost.com:1337/parse/functions/mycloudfunction")
    .headers({'X-Parse-Master-Key', MASTER_KEY)
    .end(function(response) {
     }