启用了API密钥,但没有密钥的请求仍在运行

时间:2016-02-09 21:54:31

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

在我的API网关控制台中,我执行了以下操作:

  • 创建了一个API密钥
  • 将密钥与已部署的API阶段相关联
  • 选中键的“已启用”复选框
  • 对于我的API的每个资源的每个方法,需要API密钥进行身份验证

我预计curl https://my-api-gateway-url/my-resource为403,因为我没有包含x-api-key标题,但它是200。 API网关后面的我的Lambda函数在不应该没有API密钥的情况下运行时最终运行。

如何确保验证所有请求所需的密钥?

编辑:我在这里关注文档:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html

1 个答案:

答案 0 :(得分:12)

刚刚回答了我自己的问题。在这里发布我的答案,因为我知道我并不是唯一一个对此感到疑惑的人,例如this person

答案是重新部署您的API。虽然重新部署听起来很明显,但文档完全跳过了重要的最后一步,因此很容易被忽视。