0
我想实现一个图像的卸载只使用rest api的亚马逊s3。我已经看过他们的文档,但问题是我只使用临时证书,该证书将过期约一个小时。下面是响应签名不匹配s3上传对象
{
accessKey: "mykey"
secretKey: "mysecret"
token: "mytemptoken"
expiry: 1381128021000
}
我的政策
POLICY_JSON = { "expiration": "2013-12-03T12:29:27.000Z",
"conditions": [
["eq", "$bucket", this.get('bucket')],
["starts-with", "$key", this.get('key')],
{"acl": this.get('acl')},
{"success_action_redirect": this.get('successActionRedirect')},
["starts-with", "$Content-Type", this.get('contentType')]
]
};
这里是我试过到目前为止: 使用Chrome提前休息客户端我进入这个网址:https://mybucket.s3.amazonaws.com/avatars/[email protected]与
Authorization: AWS mykey:CXp5qqO6q552VDYUI0aBlSd/pTs=
x-amz-security-token: mytemptoken
x-amz-date: Mon, 07 OCt 2013 06:20:37 GMT
的的头结果是:403 Forbidden和其说的SignatureDoesNotMatch。有没有人能够使用s3的Rest Api来完成对象的上传(不使用SDK的)。客户问我是否有可能只用javascript来构建它。这可能吗?
嗨,感谢您的回答。是的,我在我的授权标题上添加了签名。我使用以下代码生成了我的签名:var policyBase64 = Base64.encode(JSON.stringify(POLICY_JSON)); var signature = b64_hmac_sha1(secret,policyBase64); –
现在工作吗? – Satish
不行,它仍然说SignatureDoesNotMatch。你能看看我的政策json吗?我的政策有什么缺失吗?我使用临时凭证,因此我在标题上添加了x-amz-security-token。 –