使用 API Gateway Lambda 授权方调用 API - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 API Gateway Lambda 授权方调用 API

配置 Lambda 授权方(以前称为自定义授权方)并部署 API 后,您应在启用 Lambda 授权方的情况下测试 API。为此,您需要一个 REST 客户端(如 cURL 或 Postman)。对于以下示例,我们使用 Postman。

注意

在调用启用授权者的方法时, CloudWatch 如果TOKEN授权方所需的令牌未设置、为空或被指定的令牌验证表达式失效,则 API Gateway 不会将调用记录到。同样, CloudWatch 如果REQUEST授权方的任何所需身份源未设置、为空或为空,API Gateway 也不会记录对的调用。

在以下示例中,我们将说明如何在 Lambda TOKEN 授权方的情况下使用 Postman 调用或测试 API。如果您显式指定必需的路径、标头或查询字符串参数,则可应用此方法以使用 Lambda REQUEST 授权方调用 API。

使用自定义 TOKEN 授权方调用 API
  1. 打开 Postman,选择 GET 方法,并将 API 的 Invoke URL (调用 URL) 粘贴到相邻的 URL 字段中。

    添加 Lambda 授权令牌标头,并将值设置为 allow。选择 Send (发送)

    响应显示,API Gateway Lambda 授权方返回了 200 OK 响应,并成功授权调用访问与此方法集成的 HTTP 终端节点 (http://httpbin.org/get)。

  2. 仍然是在 Postman 中,将 Lambda 授权令牌标头值更改为 deny。选择 Send (发送)

    响应显示,API Gateway Lambda 授权方返回了 403 禁止访问响应,而未授权调用访问 HTTP 终端节点。

  3. 在 Postman 中,将 Lambda 授权令牌标头值更改为 unauthorized,并选择发送

    响应显示,API Gateway 返回了 401 未授权响应,而未授权调用访问 HTTP 终端节点。

  4. 现在,将 Lambda 授权令牌标头值更改为 fail。选择 Send (发送)

    响应显示,API Gateway 返回了 500 内部服务器错误响应,而未授权调用访问 HTTP 终端节点。