当前位置: 首页 > 知识库问答 >
问题:

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

贺季同
2023-03-14

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

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

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

共有3个答案

阎建华
2023-03-14

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

万俟光临
2023-03-14

谢谢迈克的及时回复。看来问题在于依赖mac版的postman,我用chrome版再试了一次,效果很好。我意识到这两个版本使用相同的AWS访问密钥和密钥生成不同的签名。

殳睿
2023-03-14

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

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

 类似资料:
  • 我们已经使用ms bot框架创建了一个bot,并希望向bot传递一些用户不会输入的数据。就像我在想,我们是否可以将查询字符串传递到下面的web频道。 https://webchat.botframework.com/embed/myformbot?s=XXXXXX 从bot api代码中,我可以以某种方式读取这个querystring参数。。。理想情况下,我知道我们不能控制上面的webchat链接

  • 在我的 Spring Boot 应用程序中,我需要两种类型的身份验证机制。对于文件上传终结点,它需要基于 api 密钥的身份验证,对于其他终结点,它需要基于用户名密码的身份验证。以前,只有基于用户名密码的身份验证,如下所示。 为了支持下面的基于api密钥的身份验证,我修改了这段代码。通过以下线程并相应地实现。使用API密钥和密码保护Spring Boot API Spring Security:多

  • 我有一个普通的ASP。NET Web应用程序,我使用应用程序服务将其部署到Azure中。在部署它之后,我启用了应用程序服务身份验证并配置了Azure Active Directory。这使我能够发布我的Web应用程序,并具有身份验证,因此只有属于Active Directory的人员才能登录。 另一方面,我部署了一个ASP。NET Web API作为云服务。Web应用程序应该加载一些信息,调用We

  • 在浏览器中直接键入下面的url,它可以工作, 但是,当我使用相同的url,用于selenium网络驱动程序测试时,它连接到 以及请求HTTP身份验证。我是否需要更改chrome浏览器中的任何设置,或调整默认配置文件?

  • 问题内容: 因为在AngularJS中使用CORS和http身份验证可能会比较棘手,所以我编辑了问题以分享一个经验教训。首先,我要感谢igorzg。他的回答对我很有帮助。场景如下:您想使用AngularJS $ http服务将POST请求发送到另一个域。获取AngularJS和服务器设置时,需要注意一些棘手的事情。 第一:在您的应用程序配置中,您必须允许跨域调用 第二:您必须指定withCrede

  • 问题内容: 如何在Golang网站上实施基本身份验证?这样,当有人访问某个页面时,他们的 浏览器 会提示他们登录。 问题答案: 为了强制用户进行身份验证/在用户浏览器中显示基本身份验证提示,请发送标头 因此,如果您有通话,您可以 这将导致浏览器打开您所指的提示。