Сообщение об ошибке: Предоставленный вами механизм авторизации не поддерживается. Пожалуйста, используйте AWS4-HMAC-SHA256.
Почтовый запрос Angular js http
url: 'https://abc.s3.amazonaws.com/', //webAPI exposed to upload the file
method: 'POST',
data: {
key: file.name,
AWSAccessKeyId: '*****',
acl: 'private',
Policy: $scope.policy,
Signature: $scope.signature,
"Content-Type": file.type != '' ? file.type : 'application/octet-stream', // content type of the file (NotEmpty)
file: file
Nodejs (подпись и политика отправляются в переменную области видимости в angular js)
var secretKey = '*******';
var s3Policy = {
"expiration": "2018-12-01T12:00:00.000Z", // hard coded for testing
"conditions": [
{ "bucket": "*****" },
["starts-with", "$key", ""],
{ "acl": "private" },
["starts-with", "$Content-Type", ""],
{'x-amz-meta-uuid': '14365123651274'},
{'x-amz-credential': '****/20181212/eu-west-3/s3/aws4_request'},
{"x-amz-algorithm" : "AWS4-HMAC-SHA256"},
["content-length-range", 0, 524288000]
],
};
var stringPolicy = JSON.stringify(s3Policy);
var base64Policy = Buffer(stringPolicy, "utf-8").toString("base64");
var signature = crypto.createHmac("sha256", secretKey)
.update(new Buffer(base64Policy, "utf-8")).digest("base64");
var s3Credentials = {
s3Policy: base64Policy,
s3Signature: signature
};
Как можно решить этот вопрос? Я пробовал все возможные методы, но это не работает.