gpt4 book ai didi

javascript - 使用生成的 JS SDK 的 Amazon API Gateway IAM 身份验证示例

转载 作者:行者123 更新时间:2023-11-29 10:39:25 25 4
gpt4 key购买 nike

我已经按照官方文档在 Amazon API Gateway 上创建了示例 GET 和 POST API。我已经为这些 API 生成了 JS SDK,我用它从 S3 上托管的客户端 JS 文件调用这些 API。无需任何“授权类型”即可完美运行。

现在,当我将 GET 方法的“授权类型”设置为“IAM”时,我需要传递 IAM 凭据才能使其正常工作。尽管传递了我的 AWS 账户的根凭证,但我在响应 header 中得到了这个:

x-amzn-ErrorType:InvalidSignatureException:http://internal.amazon.com/coral/com.amazon.coral.service/

最后它返回一个 403 错误代码。

我的问题是:有没有人成功地尝试使用通过 IAM 身份验证从 Amazon API Gateway 生成的 javascript SDK?你能指出我可能哪里出错了吗?

谢谢。

最佳答案

我在 AWS 论坛上的一些人的帮助下解决了这个问题。 API Gateway GET 方法似乎需要一个空主体。默认情况下,如果您遵循生成的 JS SDK 附带的 README 示例,将“undefined”或只是“{}”传递给 GET 正文会导致不匹配的有效负载,这会导致计算出不正确的签名。

截至目前,我只是通过硬编码 body = '' 在/lib/apiGatewayCore/sigV4Client.js 中做了一个小调整。

这应该是一个临时练习,因为这可能会影响您的其他需要填充“主体”的 API 网关方法。就我而言,我只有 GET 方法。

关于javascript - 使用生成的 JS SDK 的 Amazon API Gateway IAM 身份验证示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com