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

Ond*_*kar 16 authentication amazon-web-services aws-lambda aws-api-gateway

我试图通过AWS API Gateway调用Lambda函数.

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

{"message":"Missing Authentication Token"}
Run Code Online (Sandbox Code Playgroud)

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

我一直在尝试在浏览器和邮递员中打开URL(使用和不使用标头身份验证:x-​​api-key:*****************). 在此输入图像描述

两者都回答了上述错误.

小智 13

还有一步:在Postman中,您需要将授权设置为AWS签名,然后从您的IAM用户输入您的AccessKeySecretKey:

邮差截图 邮差截图

  • 如果OP特定授权为NONE,为什么需要设置AccessKey/SecretKey? (3认同)

Jac*_*AWS 5

我会在这里为任何观众撰写详细的常见问题解答.由最常见的原因排序.

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


Mbr*_*vda -2

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