我正在尝试使用从AssumeRole返回的凭据从Apex访问s3。但是,我收到以下错误:
BACK:
app.use(session({
name: process.env.SESS_NAME,resave: false,saveUninitialized: false,secret: process.env.SESS_SECRET,cookie: {
maxAge: parseInt(process.env.SESS_LIFETIME),sameSite: true,//strict,secure: process.env.NODE_ENV === "production"
}
}))
FRONT:
import Cookies from "js-cookie";
...
console.log("cookie",Cookies.get("sid"));
我能够使用从AssumeRole返回的凭据从CLI在此s3存储桶上成功调用GetObject,因此我可以合理地确定我的存储桶权限已正确设置。我在Apex中有以下代码:
<Message>The AWS access Key Id you provided does not exist in our records.</Message>
<AWSaccessKeyId>ASIA********</AWSaccessKeyId>
似乎AWS正在读取accessKeyId / Secret,而不是会话令牌。我也尝试将x-amz-security-token设置为标头,但这会引发403错误-签名不匹配。我是否在标题或签名中丢失了一些内容,这些内容会使此请求成功返回?