如果密钥在 HTTP POST 请求的 body 中,HMAC 是否仍然可靠?

Is HMAC still reliable if the secret key is in the body of a HTTP POST request?

我已经开始使用的在线网络钩子 API 使用 HMAC 来验证 HTTP POST 请求的真实性。

根据我的理解,如果您有密钥(最初提供给服务),您只能验证请求的 body 的内容。

但是,密钥包含在请求本身 body 的 JSON 数据中。

这还靠谱吗?不能 man-in-the-middle 读取密钥,然后更改 POST 内容,使用密钥重新计算哈希并在转发数据之前更改 header 吗?还是我完全走错了路?

它不安全 - 我让 API 的所有者知道并且他们同意并正在尽快解决问题。