使用AWS_IAM身份验证将查询字符串传递到 http 终端节点(AWS API GATEWAY)



我有一个 GET 方法,其中包含在 AWS Api Gateway 中定义的一些查询字符串,此方法由 AWS IAM 身份验证保护。

当我使用任何查询字符串从邮递员发出请求时,我收到以下消息:">我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥和签名方法...

但是,如果我删除 IAM 身份验证,它可以工作。

我们已经看到有关Postman默认设置"x-www-form-urlencoded"的内容类型标头的报告。 在某些情况下,这可能会阻止它生成正确的签名。尝试在 Postman 中显式设置"application/json"的内容类型标头。

如果这不起作用,请发布您的 Postman 请求的详细信息,但不要发布您的 AWS 访问密钥或私有密钥的实际值。 此外,不要发布实际的签名值。

感谢迈克的及时回复。似乎问题依赖于 mac 版本的邮递员,我再次尝试使用 chrome 版本并且效果很好。我意识到这两个版本使用相同的 AWS 访问密钥和私有密钥生成不同的签名。

我们还看到,某些版本的 Postman 在更改请求的其他方面后不会重置授权标头。 在这些情况下,您可以手动删除授权标头以强制 Postman 重新创建它。

相关内容

  • 没有找到相关文章

最新更新