我有一个API网关,我在其中设置身份验证以使用AWS_IAM。这要求我使用AWS V4签名对每个请求进行签名,并将HMAC附加到标头中。我发现库用于在nodejs中使用V4签名签署请求。但我找不到一个能够为我签名的图书馆。即使是针对.NET的aws-sdk也为自己的特定用例进行了抽象。那里有一个图书馆(我做了一个快速的谷歌搜索,没有找到结果)?或者我是否需要自己写出hmac?
你可以阅读签名是如何完成的,你可以(如果你想)。我建议您使用AWS SDK for .NET并使用SDK中的功能来实际执行签名。
这是来自SDK的歌手:
您可能需要对其进行调整(即默认情况下它了解AWS服务和端点)
虽然这是一个老问题,但由于AWS在上面的评论中没有对.NET AWS SDK进行“相应的优先级排序”,这仍然是一个相关的问题,我找到了一个很好的库来处理AWS V4请求为您签名。
Here is the GitHub source and implementation documentation.
此外,我发现对于我的API网关AWS_IAM授权使用临时安全凭证,您还需要在当前会话令牌中包含“x-amz-security-token”标头,因为它在您的请求中也是如此。
Aws4RequestSigner的另一种选择是AwsSignatureVersion4。我认为它的API更容易使用,但我有偏见,因为我是后者的作者。