Amazon web services 使用AWS_IAM auth(AWS API网关)将查询字符串传递到http端点

Amazon web services 使用AWS_IAM auth(AWS API网关)将查询字符串传递到http端点,amazon-web-services,amazon-iam,aws-api-gateway,Amazon Web Services,Amazon Iam,Aws Api Gateway,我在AWSAPI网关中定义了一个GET方法和一些查询字符串,该方法由AWS IAM auth保护 当我使用任何查询字符串从邮递员处发出请求时,我收到以下消息:“我们计算的请求签名与您提供的签名不匹配。请检查您的AWS秘密访问密钥和签名方法… 但是,如果我删除IAM身份验证,它会工作。我们看到有报道称,Postman默认将内容类型头设置为“x-www-form-urlencoded”。在某些情况下,这可能会阻止它生成正确的签名。请尝试在Postman中显式地将内容类型头设置为“applicatio

我在AWSAPI网关中定义了一个GET方法和一些查询字符串,该方法由AWS IAM auth保护

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


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

我们看到有报道称,Postman默认将内容类型头设置为“x-www-form-urlencoded”。在某些情况下,这可能会阻止它生成正确的签名。请尝试在Postman中显式地将内容类型头设置为“application/json”


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

我们看到有报道称,邮递员默认将内容类型头设置为“x-www-form-urlencoded”“。在某些情况下,这可能会阻止它生成正确的签名。尝试在Postman中显式设置“application/json”的内容类型头


如果这不起作用,请发布邮递员请求的详细信息,但不要发布AWS访问密钥或密钥的实际值。另外,不要发布实际的签名值。

谢谢Mike的及时回复。 问题似乎出在mac版的postman上,我用chrome版再试了一次,效果很好。
我意识到这两个版本使用相同的AWS访问密钥和密钥生成不同的签名。

感谢Mike的及时回复。 问题似乎出在mac版的postman上,我用chrome版再试了一次,效果很好。
我意识到这两个版本使用相同的AWS访问密钥和密钥生成不同的签名。

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

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

他们在asp.net4.0 c#代码中找到了我面临的任何解决方案。他们在asp.net4.0 c#代码中找到了我面临的任何解决方案。。