我在AWS上运行了我自己的Parse Server实例,到目前为止,Cloud Functions一直运行良好,但有一点需要注意:它们无法公开成功调用,即需要在REST中发送授权密钥请求标题。
我想为我的服务器设置一个Slack Slash Command,它必须能够在没有任何标头或额外参数的情况下发布有效负载。因此,我的请求目前是未经授权的(返回403状态)。
是否有办法对Parse Cloud Function的授权进行精细控制(即,是否需要主密钥头),如果不需要 - 是否有一种转发请求但仍然通过Parse服务器的方法? - 甚至是一种操纵Slack请求标头的方法?我宁愿不必仅使用其他服务进行请求转发。
谢谢!
答案 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) {
}