0
我有我的RESTapi服务器存储AWS公共密钥/密钥。我还存储客户端公钥/密钥(客户端是我创建的用户 - 它有权进行CORS请求)。如何签署从外部服务器执行的S3请求
我有我的,这将文件上载直接S3存储外部服务器。但我不想在其上存储AWS凭据 - 我希望它在上传之前以某种方式调用主服务器来签名请求,然后直接将文件上传到s3。
现在我使用aws-sdk
外部服务器上是这样的:
var aws = require('aws-sdk');
aws.config.update({
"accessKeyId": process.env.AMAZONS3_ACCESSKEY_ID,
"secretAccessKey": process.env.AMAZONS3_ACCESSKEY,
"region": process.env.AMAZONS3_REGION_CLOUD,
});
var s3 = new aws.S3({ params: { Bucket: 'myCustomBucket' } });
s3.putObject(...);
现在我需要改变,因此外部服务器将调用主服务器与一些S3 PARAMS和它会被背面签名密钥或类似的东西,它会用它来上传文件...
所以主服务器上的端点应该怎么样子(什么PARAMS中应该消耗以及如何生成号)? 然后我可以如何使用标志从外部服务器发出请求?