使用Zapier Webhook触发器时有没有办法检索HTTP标头?使用Catch Hook
和Catch Raw Hook
触发器,标题在以后的步骤中似乎不可用(即使使用代码步骤)。
例如:
curl -H 'Content-Type: application/json' \
-H 'x-webhook-signature: abc123!'
POST -d '{"secret": "I am a banana"}'
https://hooks.zapier.com/hooks/catch/123/abc/
如何在Webhook触发器中或之后读取Zapier中x-webhook-signature
值的值?
这对我们来说尤其重要,因为标头包含身份验证信息,否则我们无法验证发件人的真实性和身份。这是一个很大的安全问题。
答案 0 :(得分:1)
David来自Zapier平台团队。
很抱歉成为坏消息的承载者,但这不是我们目前在我们的webhooks应用程序中支持的内容。如果代理服务器不是一个选项,则可以编写自定义CLI应用程序来捕获您的挂钩。它可以访问传入的标头,并可以将该信息复制到正文中。其中最棘手的部分是你不再有单个URL的好处来抛出钩子 - 每个zaps在它打开时广播它的url。成功取决于能够在某处捕获该广播并相应地调整您的数据。
再次,抱歉现在不可能。如果您有任何其他问题,请告诉我们!
答案 1 :(得分:0)
高级Zapier帐户具有var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
// try to get extension from original file name
var lioDot = file.originalname.lastIndexOf('.');
if (lioDot !== -1) {
// I like to use original upload filename for SEO but first lets clean it
var newName = file.originalname.substring(0, lioDot).replace(/([^a-z0-9]+)/gi, '-');
var ext = file.originalname.substring(lioDot, file.originalname.length);
} else {
var newName = file.originalname.replace(/([^a-z0-9]+)/gi, '-');
// try to get extension from mime type string
var extArray = file.mimetype.split("/");
var ext = extArray[extArray.length - 1];
// mime type extension resolving by pure string extraction is not accurate for a lot of types
// https://www.freeformatter.com/mime-types-list.html
// it's usually fine for ext strings up to 4 characters, png, jpeg, gif, bmp, tiff ..
if (ext > 4) {
// other mime types you would like to support
var mimetypes = { 'vnd.openxmlformats-officedocument.wordprocessingml.document': '.docx' };
if (mimetypes.hasOwnProperty(ext)) ext = mimetypes[ext];
}
}
var newFullName = newName + ext;
var i = 0;
// we need to check if the file with the same name already exists
// if it exists then we're adding something to make it unique
while (fs.existsSync(process.env.PWD + '/uploads/' + newFullName)) {
newFullName = newName + '-' + ++i + ext;
}
cb(null, newFullName);
}
})
const upload = multer({ storage: storage });
触发器。在其中可以阅读标题。
https://zapier.com/blog/updates/1113/webhooks-catch-raw-hooks