gpt4 book ai didi

azure - 如何在 Azure 逻辑应用程序中使用 HMAC/签名 key 验证 Webhook 消息?

转载 作者:行者123 更新时间:2023-12-03 02:16:45 25 4
gpt4 key购买 nike

我开发了一个带有 Http 触发器的 Azure 逻辑应用程序,其中我使用服务总线发送消息操作将消息发布到 Azure 服务总线队列。

我已在第三方系统中使用逻辑应用终结点配置了 Webhook。我从第三方系统获取带有签名 key 的消息。我想在通过 Azure 逻辑应用将消息发布到 Azure 服务总线队列之前,使用从第三方系统获取的签名 key 来验证传入消息。

我已经提到了这个documentation用于验证 webhook 消息。但是这个文档包含.Net中的解释。

是否可以在 Azure 逻辑应用程序中验证/验证签名 key ?

最佳答案

  • 如果您想通过逻辑应用连接 HMAC,则需要创建一个函数应用并从函数应用进行调用,以便您可以使用签名 key 向服务总线发送消息

下面是示例函数代码,您可以使用它来生成 HMAC key

const CryptoJS = require("crypto-js");
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
//get the data used to sign from request body
const data = req.body.data

// sign
const str = CryptoJS.HmacSHA256(
CryptoJS.enc.Utf8.parse(req.body.data),,

"key"
);
const sig = CryptoJS.enc.Base64.stringify(str);

context.res = {

body: sig // return the hash
};
}
  • 现在,您需要从逻辑应用调用Azure Function来生成 key
  • 需要从 Azure Function 调用 API 才能使用哈希数据

这里是调用有数据的表达式 @{body('<action name>')}

您还需要在 HTTP 连接器的 header 中调用以下值

Accept    =      Application/json
Accept = application/json
api-auth-id = (your function id)
api-auth-signature = @{body('getkey')}

enter image description here

现在您可以执行代码来获取结果。另外,有关更多详细信息,您可以查看以下SO进行相关讨论。

关于azure - 如何在 Azure 逻辑应用程序中使用 HMAC/签名 key 验证 Webhook 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70877768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com