2012-09-12 14 views
5

私はAmazon FPSを私の会社のウェブサイトに統合しようとしていますが、適切な署名を生成する際に問題があるようです。ここでは、Amazonのドキュメントを行うためにこう言われる、 http://docs.amazonwebservices.com/AmazonFPS/latest/FPSAdvancedGuide/APPNDX_GeneratingaSignature.htmlamazon fpsの署名を生成する

ここで私はハッシュ私の文字列です:

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 

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

答えて

3

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

3

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

+0

こんにちはtheRemixは、使用のサンプルを追加することを検討してください、リンクだけが本当に答えではなく、サイトに価値を追加しないでください。 – edi9999

関連する問題