Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 API Gateway Lambda 授权方调用 API

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

注意

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

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

使用自定义 TOKEN 授权方调用 API

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

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

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

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

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

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

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

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

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

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

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

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

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