Necesito llamar a un servicio API de AWS Gateway que está protegido con AWS_IAM.
Quiero usar HttpClient ya que esta es la forma recomendada por Microsoft.
He encontrado un código de ejemplo usando otras formas. También encontré el SDK oficial de AWS que usa su IRequest interno. Actualmente estoy escribiendo una implementación de IRequest para poder usar Amazon.Runtime.Internal.Auth.AWS4Signer.SignRequest . ¡Pero esto parece increíblemente raro!
Lo que realmente quiero es algo que tome mi HttpClient , luego inyecte los encabezados Host, X-Amz-Content-SHA256, X-Amz-Date y Authorization.
Me cuesta creer que no exista una biblioteca lista para usar.
Tenga en cuenta que esto es similar a esta pregunta, pero es un poco antiguo y hubiera esperado que hubiera una manera más fácil ahora. ¿Existe una biblioteca .NET que pueda firmar una solicitud con AWS V4 Signature?
Actualización 2018-03-21: ahora hay un paquete NuGet https://www.nuget.org/packages/Aws4RequestSigner/
¡Mi colega ha usado esto e informa que funciona bien! Espero que esto sea de ayuda para cualquiera que llegue a esta pregunta.