如何排查 API Gateway REST API 终端节点的 403 “缺少身份验证令牌”错误?
上次更新日期:2021 年 10 月 6 日
当我尝试调用我的 Amazon API Gateway REST API 时,不断收到 403 “Missing Authentication Token” (缺少身份验证令牌) 错误消息。如何排查这些错误?
简短描述
API Gateway REST API 终端节点返回 Missing Authentication Token (缺少身份验证令牌) 错误的原因有两个:
- API 请求针对的方法或资源不存在。
- API 方法已启用 AWS Identity and Access Management (IAM) 身份验证 但 API 请求未签名。
要排查此错误,请执行以下操作。
解决方法
确认 API Gateway 资源路径中配置了方法和资源
按照使用 API Gateway 控制台设置方法中的说明进行操作。有关更多信息,请参阅设置 API 资源。
重要提示:您必须部署 API以使更改生效。
对于具有代理资源集成的 API
如果方法请求发送到根资源,则验证根资源下是否配置了方法。
如果 API 方法已启用 IAM 身份验证,请确认 API 请求是否已签名
有关更多信息,请参阅为请求签名。
确认您向 REST API 终端节点发送的 HTTP 方法请求正确
从 Web 浏览器测试 REST API 终端节点会自动发送 GET HTTP 方法请求。
要测试 POST HTTP 方法,请使用不同的 HTTP 客户端。例如:Postman 或 curl。
使用 POST HTTP 方法请求的 curl 命令示例
$ curl -X POST <API URL> -d <request body>