5

Amazon FPSを会社のWebサイトに統合する作業をしていますが、適切な署名の生成に問題があるようです。アマゾンのドキュメントには次のように書かれています: http: //docs.amazonwebservices.com/AmazonFPS/latest/FPSAdvancedGuide/APPNDX_GeneratingaSignature.html

これが私がハッシュする私の文字列です:

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

これが私が送信するHTTPリクエストです:

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

また、私が受け取った正確なエラーは次のとおりです。

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

私はこれをnode.jsバックエンドを使用してcoffeescriptで書いています。誰かが私が間違っていることを見つけることができますか?必要に応じてコードを投稿できます。

4

2 に答える 2

3

私は自分が間違っていることを理解しました。私のクエリフィールドは自然なバイト順序ではありませんでした。AWSAccessKeyはActionの前にあります。アマゾンの例は、私がそれをやろうとしていた方法を示しており、正しい方法ではありませんでした。

于 2012-09-13T20:42:47.850 に答える
3

リクエストへの署名に役立つ小さなライブラリを作成しました。多分それはあなたに役立つかもしれませんhttps://github.com/theRemix/aws_signature_utils_js

于 2014-05-22T07:32:00.177 に答える