【问题标题】:"Missing Authentication Token" when using the AWS apigclient (with credentials)使用 AWS apigclient 时出现“缺少身份验证令牌”(带有凭证)
【发布时间】:2016-05-20 20:18:21
【问题描述】:

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


我在尝试通过 API Gateway 访问受保护的 lambda(授权:AWS_IAM)时遇到了 API Gateway 客户端(Javascript/浏览器)的一些问题。

问题是我在通过 API 网关的 apiClient 调用资源时不断收到“缺少身份验证令牌”。

我正在关注 Developer Authenticated Identities Authflow 下的“增强流程”参考:http://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html?shortFooter=true

是否可以像这样保护 lambda,还是我必须为我的案例使用授权人?我的印象是,我来自 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 );
    });
}

【问题讨论】:

  • 您好 fmortens,您的问题解决了吗?谢谢
  • 啊,对不起。我忘记更新了。事实证明,问题实际上是一个错误的认知池,即角色。我不得不重新创建池(可能已经修复了角色),然后事情醒来,我可以使用 AWS_IAM 保护资源。

标签: javascript amazon-web-services aws-lambda


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-18
    • 2020-08-27
    • 1970-01-01
    • 2019-03-25
    • 2020-09-18
    • 2021-08-28
    • 1970-01-01
    • 2018-09-27
    相关资源
    最近更新 更多