"缺少认证令牌”;当使用AWS apigclient(带凭据)时

"Missing Authentication Token" when using the AWS apigclient (with credentials)

本文关键字:apigclient AWS quot 认证 令牌      更新时间:2023-09-26

更新我通过删除旧池并创建一个新池来解决这个问题。我相信问题最终是错误地配置了cognito角色。它现在按预期工作。


当我试图通过API网关访问受保护的lambda(授权:AWS_IAM)时,API网关客户端(Javascript/Browser)出现了一些问题。

问题是,当我通过API网关的apiClient调用资源时,我总是得到"缺少身份验证令牌"。

我正在关注开发人员身份验证身份验证Authflow ref下的"增强流":http://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html?shortFooter=true

有没有可能像这样保护lambdas,或者我的案件必须使用授权人?我的印象是,我在cognito的临时证书可以在这段时间内用作IAM,但这可以解释很多。我有一个授权人计划稍后-保护其他资源。

对lambda的实际调用如下:

  var params = {};
  var body = {
    message: vm.message
  };
  var additionalParams = {
    headers: {},
    queryParams: {}
  };
  var apiClient = apigClientFactory.newClient( {
    accessKey    : data.awstoken.AccessKeyId,
    secretKey    : data.awstoken.SecretAccessKey,
    sessionToken : data.awstoken.SessionToken,
    region       : Config.aws.region
  });
  apiClient.testEchoPost( params, body, additionalParams )
    .then( function ( result ) {
      console.info( 'TEST_RESULT', result );
    })
    .catch( function ( error ) {
      console.error( 'dang', error );
    });
}

忘记正确回答。我不得不重新创建池(可能已经修复了角色),之后事情发生了变化,我可以用AWS_IAM保护资源。