使用React

时间:2018-08-08 02:25:45

标签: html node.js reactjs amazon-web-services amazon-s3

我正在尝试根据本教程将文件上传到S3:

https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html

我复制了html表单,并将“ Base64编码的策略字符串”,“签名值”更改为我的值,以及从2015年到2019年以及在“ http://sigv4examplebucket.s3.amazonaws.com/”中更改了X-Amz-Date用我的存储桶替换了sigv4examplebucket。

在服务器端(node.js),我在策略对象上调用Buffer.from(JSON.stringify(policy))并使用以下代码创建签名:

var kDate = crypto.HmacSHA256("20190830T120000Z", "AWS4" + "MY_KEY");
var kRegion = crypto.HmacSHA256("us-east-1", kDate);
var kService = crypto.HmacSHA256("s3", kRegion);
var kSigning = crypto.HmacSHA256("aws4_request", kService);
return kSigning;

问题是我的网站给我一个错误:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

有没有办法找出问题所在?

此外,我没有在AWS S3上的购物篮中进行任何更改。我应该在那添加一些政策吗?

0 个答案:

没有答案