【问题标题】:Respecting an API key with Amazon's API Gateway使用 Amazon 的 API 网关尊重 API 密钥
【发布时间】:2020-02-04 18:45:54
【问题描述】:

我正在学习无服务器应用程序。我创建了一个简单的 Lambda,我确认它正在通过 Paw/curl 工作。

接下来我完成了以下 API 网关任务:

  • 创建需要 API 密钥的 POST 资源
  • 创建 beta 和测试阶段
  • 创建 API 密钥
  • 创建使用计划
  • 将 API 密钥与使用计划相关联
  • 将使用计划与测试阶段相关联

我希望带有 x-api-key 标头的请求能够正常工作,而那些没有标头的请求将被拒绝。但我观察到所有请求都会继续成功完成,无论该 Header 是否存在。

我重新创建了单独的 API 网关步骤,并最终将整个流程作为一个整体进行了重新创建,但无济于事。关于我错过了什么的任何线索?

【问题讨论】:

  • 我没有看到任何问题。 This blog 做了同样的事情,但是在没有密钥的情况下调用时会导致 403。有没有可能是一些简单的事情,比如您更改了“需要 API 密钥”标志并且没有再次部署?
  • 您可以通过点击Stages -> “stage name” -> “resource name”(不是方法,资源路径)来确认API Keys和Usage Plans设置是否正确。您应该会看到一个矩形,上面写着“授权:无,API 密钥:必需”。你在舞台上看到了吗?
  • @JasonWadsworth,你叫它!我更新了标志,但没有重新部署,这就成功了。谢谢参观;将其发布为胜利的答案。
  • 感谢@tankthinks 向我展示了如何确认设置。我在重新部署之前(不需要密钥)和之后(需要密钥)按照您的步骤进行操作。激动人心的时刻!

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


【解决方案1】:

我没有看到任何表明存在问题的东西。这个博客介绍了做同样的事情,但是在没有密钥的情况下调用时会导致 403。有没有可能这很简单,比如您更改了“需要 API 密钥”标志并且没有再次部署?

【讨论】:

    猜你喜欢
    • 2016-12-27
    • 2016-10-06
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多