amazon-web-services - 未调用 AWS API Gateway 自定义授权方

标签 amazon-web-services aws-lambda aws-api-gateway

首先,我对 AWS 还很陌生。从非常基本的 API Gateway + Lambda 集成开始。以下是我的用例。

  • 使用 API 网关创建了一个 Lambda 代理集成请求,GET 请求输出通过查询参数传递的 2 个数字的相加。现在,如果我访问此 API 网关端点,我将获得所需的结果。
  • 现在我已经创建了自定义授权器,它又是对另一个 lambda 的调用。
    因此,在点击 API 网关端点之前,授权方 lambda 将验证请求。在这种情况下,根本不会调用授权方。

  • 我已经为 API 网关和 lambda 启用了 Cloudwatch 日志,所以下面是我面临的问题,
  • Cloudwatch 记录到 API 网关端点未显示对自定义授权方 lambda 的调用。
  • 在 lambda 组中可以正确看到端点 lambda 的日志,但无法看到授权方 lambda 的日志。

  • 我遵循以下 AWS 文档似乎没有任何帮助。

    https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

    https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

    下面是 API 网关配置。配置的授权方有一个名为“授权”的 header token ,API 的使用者应在调用端点时提供授权 token ,该 token 应由授权方验证。

    enter image description here

    API 网关日志 - 直接调用配置的 Lambda,无需调用授权程序。

    enter image description here

    最佳答案

    正如@Anup 在评论中所提到的,您可能需要重新部署阶段才能使更改生效。

    就我而言,我在 terraform 中设置了所有内容,但无法弄清楚为什么没有调用自定义身份验证器。

    在向部署添加变量以触发重新部署后,自定义身份验证器按预期正确调用。

    关于amazon-web-services - 未调用 AWS API Gateway 自定义授权方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52549538/

    相关文章:

    cors - API网关 云信息 CORS

    aws-cloudformation - 没有为方法定义集成(服务 : ApiGateway, 状态代码:400)

    amazon-web-services - 无服务器 AWS Lambda CORS 错误

    amazon-web-services - Ansible 部署到堡垒后面的 Windows 主机

    python-2.7 - 创建 AWS SNS 主题并使用 troposhere 在 ASG 中引用它

    postgresql - golang 应用程序如何在 aws 服务器中使用 docker 与 postgres 通信?

    amazon-web-services - 在AWS Elastic Beanstalk上运行Flask应用程序-不同的设置

    node.js - 如何为 lambda 服务配置 X-Ray

    amazon-web-services - 如何为 http api 网关启用执行日志

    amazon-web-services - 如何在 AWS::Serverless::Api 的 AWS SAM 模板中添加请求验证器?