node.js - missing - node js aws s3 upload
Generando una firma para amazon fps (2)
Me di cuenta de lo que estaba haciendo mal. Mis campos de consulta no estaban en orden natural de bytes. AWSAccessKey viene antes de la Acción. El ejemplo de Amazon les mostró la forma en que estaba tratando de hacerlo y no de la manera correcta.
Estoy trabajando para integrar Amazon FPS en el sitio web de mi empresa, pero parece que tengo problemas para generar una firma adecuada. Esto es lo que la documentación de Amazon dice que hacer: http://docs.amazonwebservices.com/AmazonFPS/latest/FPSAdvancedGuide/APPNDX_GeneratingaSignature.html
Aquí está mi cadena que hash:
GET/nfps.sandbox.amazonaws.com/n//nAction=Reserve&AWSAccessKeyId=REMOVED&CallerDescription=Reserve&CallerReference=CallerReference05&RecipientTokenId=254656Example83987&SenderTokenId=553IPMACGAZ2J4N1L7BJ3UMNRFTQU4V9NT4RJCTVADDJKXQ6L1ZAKSIUNPIRTTI1&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-09-12T22%3A29%3A07.623Z&TransactionAmount.CurrencyCode=USD&TransactionAmount.Value=1.00&Version=2010-08-28
y aquí está la solicitud HTTP que envío:
https://fps.sandbox.amazonaws.com?Action=Reserve&AWSAccessKeyId=REMOVED&CallerDescription=Reserve&CallerReference=CallerReference05&RecipientTokenId=254656Example83987&SenderTokenId=553IPMACGAZ2J4N1L7BJ3UMNRFTQU4V9NT4RJCTVADDJKXQ6L1ZAKSIUNPIRTTI1&Signature=t5r%2BWmV9PdoOGfHhtwLJ5nJ8zo%2BIJL4uWB6MOMpkZLw%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-09-12T22%3A29%3A07.623Z&TransactionAmount.CurrencyCode=USD&TransactionAmount.Value=1.00&Version=2010-08-28
También aquí está el error exacto que recibo:
SignatureDoesNotMatch 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. RequestID - ac476abb-2bc6-4891-8854-e52cf33f8716
Estoy escribiendo esto en coffeescript con un backend node.js. ¿Alguien puede encontrar lo que estoy haciendo mal? Puedo publicar mi código si es necesario.
Escribí una pequeña lib para ayudar con la firma de solicitudes. tal vez podría serle útil https://github.com/theRemix/aws_signature_utils_js