【问题标题】:Passing authentication to AWS Lambda + AWS API Gateway将身份验证传递给 AWS Lambda + AWS API Gateway
【发布时间】:2019-11-18 03:38:40
【问题描述】:

我使用 AWS Lambda + API Gateway + DynamoDB 创建了一个无服务器应用程序,只需按照网站中显示的示例进行操作:

https://medium.com/statuscode/serverless-ice-cream-or-create-your-serverless-node-js-micro-service-with-a-database-17a6946251e0

但是在测试过程中我触发了这个命令:

~/Documents/workspaces/nodejs/ice-cream-shop $ curl -H "Content-Type: application/json" -X POST -d '{"icecreamId":"123", "name":"chocolate"}' https://0k213z6zp2.execute-api.us-east-1.amazonaws.com/latest

我收到此错误 {"message":"Missing Authentication Token"} :

% Total % Received % Xferd 平均速度 时间 时间 时间 当前 下载上传总花费剩余速度 100 82 100 42 100 40 90 86 --:--:-- --:--:-- --:--:-- 176{"message":"缺少身份验证令牌"}

我已经创建了 aws_access_key_id 和 aws_secret_access_key 并将其保存在我的用户文件夹下 .aws 文件夹下的凭证文件中。 还是出现上述错误。

现在我正在研究如何将身份验证信息传递给 curl 命令。

任何提示/建议?

谢谢!

我添加了一个授权标头:

curl -H "Content-Type: application/json" -H 'Authorization: Token aws_secret_access_key=' -X POST -d '{"icecreamId":"123", "name":"chocolate"}' @987654323 @

但是我得到了这个错误: {"message":"授权标头需要'Credential'参数。授权标头需要'Signature'参数。授权标头需要'SignedHeaders'参数。授权标头需要存在'X-Amz-Date'或'Date'标头. "}

【问题讨论】:

    标签: aws-lambda aws-api-gateway


    【解决方案1】:

    请为 API 启用 CORS,并确保未为 API 启用 IAM。此外,这可以直接从 API 网关本身进行测试以确保准确性。

    【讨论】:

    猜你喜欢
    • 2015-10-17
    • 2016-08-20
    • 2019-12-14
    • 1970-01-01
    • 2021-10-23
    • 2018-01-09
    • 2020-01-05
    • 2016-01-09
    • 2020-09-18
    相关资源
    最近更新 更多