问题标签 [aws-signature]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 带有 AWS 签名的 NGINX 反向代理配置
我使用 nginx 作为网关的反向代理。它正在使用普通的api。但是,它不适用于 AWS 签名。说签名不匹配。我添加了代理主机,但它仍然不起作用。请帮忙。已验证 nginx 日志,所有标头都已通过。计算签名的问题。通过邮递员和使用 AWSSign sdk 的工作代码进行了尝试
观察 nginx 的日志,我可以看到签名值和 sha256 值与我在邮递员中看到的完全不同。
amazon-web-services - 未签名的有效负载选项不适用于 AWS 签名版本 4
我在使用该UNSIGNED-PAYLOAD
选项运行 POST 到 AWS kinesis 时遇到一些问题。
我主要使用此博客中的代码。
为了简单起见,我只签署了这两个标头:SignedHeaders=host;x-amz-date
需要提及的是,签署正文时一切正常(Kinesis 接受此作为有效签名):
但是,如果我尝试切换到未签名的有效负载,我最终会得到InvalidSignatureException
:
我打给 AWS 的电话是:
所以我在工作版本和非工作版本之间唯一改变的是内容哈希(从我的内容的实际 sha256 到文字“UNSIGNED_PAYLOAD”)。
构建规范请求时正在使用哈希。对于非正文签名版本,这是错误的方法吗?
更新 我还尝试使用来自 aws-sdk-core 的签名者:
使用上面生成的标题,我仍然得到相同的InvalidSignatureException
.
这是否意味着 Kinesis PutRecord 不接受未签名的有效负载?
amazon-web-services - 使用 cURL --aws-sigv4 调用 AWS Elasticsearch Service API
当我执行
我的 AWS Elasticsearch 端点在哪里$ES_DOMAIN_ENDPOINT
,我收到以下响应:
{"message":"我们计算的请求签名与您提供的签名不匹配。请检查您的 AWS Secret Access Key 和签名方法。有关详细信息,请参阅服务文档。"}
我相信我的观点$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY
是正确的。
但是,当我使用 AWS 身份验证和上述参数发送相同的邮递员请求时,响应就会通过。我比较了两个请求的详细输出,它们有非常小的差异,例如时间戳和签名。
我想知道,--aws-sigv4
配置有什么问题?
java - 找不到 com.github.awslabs:aws-request-signing-apache-interceptor
我正在使用AWS 文档com.github.awslabs:aws-request-signing-apache-interceptor:deb7941e85
中建议的 AWS 请求签名
构建.gradle
该构建在 2021 年 9 月 15 日之前一直运行良好,但现在我遇到了以下异常
当我分析时,我可以看到存储库的位置aws-request-signing-apache-interceptor-deb7941e85.jar
不可用mulesoft
https://repository.mulesoft.org/nexus/content/repositories/public/com/github/awslabs/
amazon-web-services - 使用 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 找到的临时凭证到期:在第二个开头还是结尾?
如 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html中所述,从 ECS 容器请求临时凭证到
http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
有以下形式的回复:
并且 EXPIRATION_DATE 似乎有第二个分辨率。
凭证是在秒的开始、秒的结束还是其他什么时候过期?所以说,请求是用那个确切的日期时间签署的......他们会成功还是失败?
javascript - 使用 Javascript 查询 Graphql API 时出现 AWS signature4 计算问题
我是一名 QA 工程师,希望自动化我们的超出 AWS 网关的 graphql API。我想使用 Javascripts 来实现这一点。经过研究,我确实意识到我们需要使用 AWS 访问密钥和 AWS 密钥生成 AWS 签名。我正在使用aws4
npm 包生成 AWS 签名并graphql-request
作为 graphql 的 Javascript 客户端。我正在尝试使用 appsync URL 查询我们的 graphql API。在执行时使用测试框架写在下面的代码中Javascript mocha
,它返回了一个错误说Error: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
我确实尝试使用postman
桌面客户端使用 AWS 签名查询 graphql API 并且工作正常,得到预期的输出!如果我手动使用authentication headers
邮递员请求中的相同内容,它会在以编程方式执行时失败!
在此处欣赏任何想法或解决方案,以解决使用 AWS 签名查询 graphl API 的问题。
GraphQLClient
控制台输出示例如下所示:
Complete Error Message
References
- aws4 签名生成参考来自https://www.npmjs.com/package/aws4中列出的示例
- Graphql Javascript 客户端从列表中选择https://graphql.org/code/#javascript
- 来自使用部分的 GraphQLCLient https://www.npmjs.com/package/graphql-request
api - 在邮递员中更新“授权”键 (AWS) 的值
我正在尝试发布到 API(需要 AWS 签名)。我正在使用 Postman 应用程序来执行此操作。API 需要以下值作为“SignedHeaders”的一部分
content-type;host;x-ftbapi-trnsid;x-ftbapi-trts
我面临的问题是我无法在 Postman 中设置这些 SignedHeaders。因为,Authorization
密钥被禁用,默认情况下会添加以下标题。host;x-amz-date
如何将以下值添加到“SignedHeaders”content-type;host;x-ftbapi-trnsid;x-ftbapi-trts
并删除x-amz-date
我附上截图以供参考。
amazon-web-services - AWS SigV4 签名与 AWS 计算的不匹配
我正在尝试遵循AWS SigV4 签名过程文档中的代码,但似乎有些不对劲,因为我不断收到错误 403 - signature does not match。
我所做的只是根据需要更改参数。我一直在 Postman 中使用相同的参数,它们完美地工作。
这是我的 Python 代码,直接来自文档:
我尝试将邮递员的amzdate、datetime和签名放入此代码中,并且它们起作用了。所以我认为签名计算过程有问题,但我真的说不出来。
我很感激我能得到的所有帮助。提前致谢。