0

使用 REST API (AWS API Gateway v1),我们可以X-API-Key在请求中使用标头并维护 API 密钥来控制对给定端点的访问。

在 AWS 中,如果我转到 API Gateway 并选择 REST API (v1),然后在 Resources 下我看到:API Key Required并且在 API Keys 下我可以找到我的密钥。

使用serverless它可以这样配置:

provider:
  apiKeys:
    - my-api-key

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: /hello
          method: get
          private: true

但如果我切换到httpApi然后我得到:

Configuration warning at 'functions.hello.events[0].httpApi': unrecognized property 'private'

此外,在 API Gateway 中,在 HTTP API (v2) 下,任何地方都没有 API 密钥。

当我检查文档时,REST API 下有一个关于 API 密钥的大节: https ://www.serverless.com/framework/docs/providers/aws/events/apigateway 但 API Gateway HTTP API 与 API 密钥无关: https: //www.serverless.com/framework/docs/providers/aws/events/http-api

HTTP API (API Gateway v2) 中是否有等效的REST API (API Gateway v1) API 密钥?基本上,我希望能够X-API-Key像在 REST API 中一样使用 HTTP API。

4

1 回答 1

1

我可以考虑一些解决方法(使用自定义授权方),在使用 AWS API Gateway v2(HTTP API)时模仿 API Key 功能,但不会接近 v1(REST API),所以简短的回答是no。没有等价物。

选择 HTTP API 和 REST API中有 API 管理表,其中清楚地显示了 HTTP API支持 API 密钥。

此外,来自同一个文档:

一代 REST API 目前提供更多功能。

于 2021-11-22T21:48:51.863 回答