var OSS = require('ali-oss');
var STS = OSS.STS;
var sts = new STS({
accessKeyId: conf.AccessKeyId,
accessKeySecret: conf.AccessKeySecret
});
co(function* (){
var token = yield sts.assumeRole(RoleArn,Policy,3600,'RoleSessionName');
var client = new OSS.Wrapper({
region: "oss-cn-beijing",
accessKeyId: token.credentials.AccessKeyId,
accessKeySecret: token.credentials.AccessKeySecret,
stsToken: token.credentials.SecurityToken,
bucket:"trtd"
});
res.send(client);
}).catch(function (err) {
console.log(err);
});
代码如上,最后报错
{ [Error: SignatureDoesNotMatch: Specified signature is not matched with our calculation.]
status: 400,
code: 'SignatureDoesNotMatch',
message: 'SignatureDoesNotMatch: Specified signature is not matched with our calculation.',
使用OSS的API接口或SDK时,客户端需要携带签名信息与OSS服务端进行校验,若客户端计算的签名与OSS服务端计算的签名不一致,请求不会通过验证。
本回答引用自以下KB文档:使用OSS的API接口或SDK时提示“SignatureDoesNotMatch”签名相关的报错
更多帮助请访问以下站点:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。