使用 API Gateway Lambda 授权方调用 API - Amazon API Gateway

使用 API Gateway Lambda 授权方调用 API

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

注意

调用已启用授权方的方法时,如果 TOKEN 授权方所需的令牌未设置、为 null 或由指定的令牌验证表达式认定为无效,则 API Gateway 不会将该调用记录到 CloudWatch 中。同样,如果 REQUEST 授权方所需的任何身份来源未设置、为 null 或为空,则 API Gateway 不会将该调用记录到 CloudWatch 中。

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

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

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

    使用 Lambda 授权允许令牌调用 API

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

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

    使用 Lambda 授权拒绝令牌调用 API

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

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

    使用 Lambda 授权未授权令牌调用 API

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

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

    使用 Lambda 授权失败令牌调用 API

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