【发布时间】:2018-04-10 05:06:03
【问题描述】:
我正在尝试使用 Node.js 为 AWS Mechanical Turk 创建签名,但在这样做时遇到了麻烦。目前我正在使用以下内容,但不断收到错误:
CryptoJS.HmacSHA1(service + operation + timestamp, process.env.SECRET_ACCESS_KEY);
签名的解释在这个link。它指出要创建签名
一个请求签名,一个 HMAC,是通过连接 Service、Operation 和 Timestamp 参数的值,其中 顺序,然后计算符合 RFC 2104 的 HMAC,使用 Secret Access Key 作为“密钥”。计算的 HMAC 值应为 base64 编码,并作为签名请求的值传递 范围。欲了解更多信息,请访问 http://www.faqs.org/rfcs/rfc2104.html.
【问题讨论】:
-
看起来不错。确保时间戳采用
%Y-%m-%dT%H:%M:%SZ格式,并且您正在对 HMAC 进行 base64 编码。您需要将 HMAC 转换为字符串变量吗? (对不起,我不是 JS 专家)。 -
@Thomas 问题是时间戳看起来是正确的。然后我进行 base 64 编码,但仍然出现错误。
标签: javascript node.js amazon-web-services hmac mechanicalturk