我正在尝试使用日期标头进行HMAC身份验证,如https://getkong.org/plugins/hmac-authentication/
但我仍然收到错误
{
"message": "HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication"
}
请建议一种方法让它发挥作用。
答案 0 :(得分:0)
我认为不应该使用日期标题。无论如何,我只是用 x-date 标题替换它,问题就解决了。
只需使用授权标头发出请求即可。
Authorization : hmac username="<username>",algorithm="hmac-sha1",headers="X-Date",signature="Ee4Gv1at78U3f+bawoV0PucdF/Q="
X-Date: Fri, 17 Feb 2017 10:28:40 GMT
为了生成使用密钥签名的字符串,客户端必须按照它们出现的顺序获取标头指定的每个HTTP标头的值。这就是为什么在这里指定X-Date标头的原因。
签名是Base64(HMAC-SHA1(signing string))
客户端会在此处将签名字符串组成:
X-Date: Fri, 17 Feb 2017 10:28:40 GMT
您还可以使用一个或多个标头来创建签名。然而,这是最简单的一个。