繁体   English   中英

收到错误:AWS API 请求后缺少身份验证令牌

[英]Getting error: Missing Authentication Token after AWS API request

我正在尝试通过 AWS API 网关调用 Lambda 函数。

当我尝试 IAM 身份验证、API 密钥身份验证以及没有身份验证时,我一直收到此错误。 在此处输入图像描述

{"message":"Missing Authentication Token"}

由于端点不存在,有些人遇到了同样的问题。 但是,我直接从 Lambda Function AWS 控制台获取了我的端点。 在此处输入图像描述

我一直在尝试在浏览器和 Postman 中打开 URL(有和没有标头身份验证:x-api-key:******************)。 在此处输入图像描述

两者都以上述错误回应。

更进一步:在 Postman 中,您需要将Authorization设置为AWS Signature ,然后输入您的 IAM 用户的AccessKeySecretKey

邮递员截图邮递员截图

我会在这里为所有观众写一份详细的常见问题解答。 按最常见原因排序。

  1. 不正确的资源路径和/或 HTTP 方法。
    • 如果您有正确的资源路径和错误的 HTTP 方法,您仍然会看到此消息
    • 您可以使用 Postman 或其他一些客户端来签署对同一资源/方法的请求,如果您收到 404,那么您肯定有错误的资源/方法
  2. 受保护资源/方法缺少签名。 默认情况下,您的 API 将处于打开状态。 如果您已明确要求 AWS Auth,则该错误表明请求未签名。
  3. 如果您使用 Lambda 控制台创建“API 端点”,则可能是 Lambda 端的问题,或者是新 API 传播的延迟。 在这种情况下,转到 API 网关控制台,您应该会看到 Lambda 为您创建的相同 API。 确保它已部署并且您拥有正确的阶段、资源路径和方法

只是想提一下,如果您将 API 网关的身份验证设置为NONE ,请确保在无身份验证设置生效之前需要先Deploy API

您必须从 API 的操作中启用 CORS。 这将创建一个新的 OPTIONS 方法。 CORS 用于跨域请求

您需要将 Api Key Required 设置为 true。 在此处查看更多信息:http: //docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM