使用临时AWS凭证来调用API

时间:2017-10-10 19:51:40

标签: node.js amazon-web-services

我尝试使用从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\\\"}

1 个答案:

答案 0 :(得分:0)

此错误通常意味着您的api"调用网址"不存在或您没有正确配置它。