API 网关可以在 url 中而不是在标头中传递 API 密钥吗?

sky*_*sky 5 browser excel amazon-web-services aws-api-gateway

要使用 aws 生成的“API KEY”访问 AWS API Gateway,必须将它们的密钥作为'x-api-key'标头传递。我知道您可以通过“curl”、“wget”、邮递员和以编程方式执行此操作。

问题:有什么方法可以将密钥作为 url 的一部分传递,以便没有 curl/wget/postman 等的人可以仅使用浏览器调用它?换句话说,有没有办法创建一个 url 来执行 api-key auth?

https://<api-key>@www.aws-api-gw-url.com/path/to/get_my_data
Run Code Online (Sandbox Code Playgroud)

或者

https://www.aws-api-gw-url.com/path/to/get_my_data?x-api-key=<api-key>
Run Code Online (Sandbox Code Playgroud)

在官方文档中或在网上搜索后,我没有看到任何方法可以做到这一点。我也尝试了各种组合都没有成功。

Mik*_*AWS 6

API 密钥可能不会在 URL 中传递。这是设计使然。如果 API 密钥位于 URL 中,那么任何可以看到该 URL 的东西都可以轻松捕获 API 密钥并使用它来获得对 API 的未经授权的访问。其中包括查看地址栏的用户以及在某些情况下浏览器中运行的其他脚本代码。