【问题标题】:AuthFailure AWS was not able to authenticate the request: access credentials are missingAuthFailure AWS 无法验证请求:缺少访问凭证
【发布时间】:2013-07-04 15:15:44
【问题描述】:

我正在尝试在Amazon Flexible Payments 请求中提交Pay 步骤...

我收到以下错误

AuthFailure AWS 无法验证请求:访问 缺少凭据

但是,我相信我正在按照信中的说明进行操作:

文档给出了以下示例:

https://fps.sandbox.amazonaws.com?
Action=Pay
&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
&CallerDescription=MyWish
&CallerReference=CallerReference02
&SenderTokenId=553ILMLCG6Z8J431H7BX3UMN3FFQU8VSNTSRNCTAASDJNX66LNZLKSZU3PI7TXIH
&Signature=0AgvXMwJmLxwdMaiE7lMHZxc6384h%2FjBkiTserQFpBQ%3D
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2009-10-06T05%3A49%3A52.843Z
&TransactionAmount.CurrencyCode=USD
&TransactionAmount.Value=1
&Version=2008-09-17

这是我生成的:

https://fps.sandbox.amazonaws.com?
AWSAccessKeyId=AKIAI3...EXAMPLE
&Action=Pay
&CallerDescription=MyWebsite.com
&CallerReference=0.557658069068566
&SenderTokenId=25R743FUFUSUVPMZZ5Z83SWP1YPNX8YDPFR8XCDEMLH4L1PPMEZ65VLT8LE6UXPR
&SignatureMethod=HmacSHA256
&SignatureVersion=2&Timestamp=2013-07-06T13%3A56%3A03-07%3A00
&TransactionAmount.currencyCode=USD
&TransactionAmount.value=3
&Version=2008-09-17
&signature=9k%2B4Txi2ZzUj62QBK3TwV6x0KWfkNY9YWpqty8%2B3XKk%3D

我知道我的 AWS 凭证很好,因为我必须在前面获取 SenderTokenID 的步骤中使用它们。我只是想完成交易。

有什么想法吗?这完全令人困惑,迄今为止一直是对人类生命的悲惨浪费。

【问题讨论】:

标签: amazon-web-services amazon-pay


【解决方案1】:

好的,所以解决方法是

1) 虽然前面步骤(获取令牌 ID)的记录相反,但对于这个特定请求,FPS 关心参数的大小写 - 它们都应该是驼峰式大小写。

2) 我缺少一个默认的“/”来覆盖我的消息签名函数中的空白路径(这里的端点在主机名之后没有任何内容)

这是有效的 HTTP GET(混淆 AWS 凭证)

https://fps.sandbox.amazonaws.com/?AWSAccessKeyId=AKIAIEXAMPLE
&Action=Pay
&CallerDescription=MyWebsite
&CallerReference=0.7753969375044107
&SenderTokenId=25R7R3NUFBS6VPRZV5Z53AWP2YLNXAYEPFJ8BCDGMXH4V1FPMZZ95VATZLEFUCPG
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2013-07-06T14%3A38%3A41-07%3A00
&TransactionAmount.CurrencyCode=USD
&TransactionAmount.Value=3
&Version=2008-09-17
&Signature=Ijf0hqQuSi5zU%2BF1PUK1LBYvsK9AVHacrqK1hJVzffk%3D

以下是实际使用 Hmac SHA256 签名的消息(AWS 密钥作为密码):

GET
fps.sandbox.amazonaws.com
/
AWSAccessKeyId=AKIAIEXAMPLE&Action=Pay&CallerDescription=MyWebsite&CallerReference=0.7753969375044107&SenderTokenId=25R7R3NUFBS6VPRZV5Z53AWP2YLNXAYEPFJ8BCDGMXH4V1FPMZZ95VATZLEFUCPG&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-07-06T14%3A38%3A41-07%3A00&TransactionAmount.CurrencyCode=USD&TransactionAmount.Value=3&Version=2008-09-17

【讨论】:

    猜你喜欢
    • 2017-08-24
    • 2020-11-21
    • 2015-02-25
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多