我尝试使用从STS服务获取的临时凭证在Node.js中对AWS进行API调用。我将取消使用带有API的临时安全凭证段落下的文档here。我还使用aws4 npm包签署了我的请求。我努力让这个请求正常工作。我不断收到403错误,说我错过了身份验证令牌。我不知道将x-amz-security-token
放在请求中的位置/方式。
const opts = {
service: 'execute-api',
region: 'us-east-1',
qs: {
'x-amz-security-token': tempCreds.Credentials.SessionToken
}
};
aws4.sign(opts, {accessKeyId: tempCreds.Credentials.AccessKeyId, secretAccessKey: tempCreds.Credentials.SecretAccessKey});
let response = await rp({
method: 'POST',
uri: config.preRegistration.baseUrl_US,
opts,
body: load
});
我已经确定我的tempCredentials也是正确的,所以这些凭据不是问题,而是我如何构建请求。
这是我的错误以供参考:
Error: {"name":"StatusCodeError","statusCode":403,"message":"403 - \"{\\\"message\\\":\\\"Missing Authentication Token\\\"}
答案 0 :(得分:0)
此错误通常意味着您的api"调用网址"不存在或您没有正确配置它。