我正在尝试使用Node.js为AWS Mechanical Turk创建签名,但是我很难这样做。目前我正在使用以下内容,但不断收到错误:
CryptoJS.HmacSHA1(service + operation + timestamp, process.env.SECRET_ACCESS_KEY);
签名的解释是link。它声明要创建一个签名
请求签名HMAC是通过连接来计算的 服务,操作和时间戳参数的值,其中 命令,然后使用。计算符合RFC 2104的HMAC 秘密访问密钥为"密钥。"计算的HMAC值应该是 base64编码,并作为签名请求的值传递 参数。有关更多信息,请转到 http://www.faqs.org/rfcs/rfc2104.html
答案 0 :(得分:4)
我认为这对你有用(我使用GetAccountBalance
)作为一个简单的例子:
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha1.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/enc-base64-min.js"></script>
<script>
var service = "AWSMechanicalTurkRequester";
var timestamp = new Date().toISOString();
var operation = "GetAccountBalance";
var secret = "YOURSECRETKEY";
var signature = CryptoJS.HmacSHA1(service + operation + timestamp, secret).toString(CryptoJS.enc.Base64);
</script>