目录
Task 1: Create a canonical request for Signature Version 4
Task 2: Create a string to sign for Signature Version 4
Task 3: Calculate the signature for AWS Signature Version 4
各版本的签名代码(Java, C#, Python, Ruby, and JavaScript)
Task 4: Add the signature to the HTTP request
Examples: Signature Calculations in AWS Signature Version 4
对接亚马逊 SP-API(Selling Partner API) 第五章:Reports 模块
1. 前提概要
1.1. 如果打算使用 SDK 的,可跳过这一章
1.2. 本章作了解就可以了。具体 demo 参考下一章【Reports 模块】
1.3. 每个 HTTP 请求都需要将 Authorization 放在 Headers 中
2. Authorization 介绍
官方文档
Python 版本完整案例
Examples of the complete Signature Version 4 signing process (Python).
你有两种方式可以添加 Authorization(具体内容查询官方文档)(仅针对SP-API而言)
Authorization header
Query string
3. 拼接 Authorization
下面部分是所有 AWS 的签名方式。
Task 1: Create a canonical request for Signature Version 4
将请求的内容(主机、操作、标头等)组织为标准(规范)格式。规范请求是用于创建待签字符串的输入之一。
demo
CanonicalRequest =
HTTPRequestMethod + '\n' +
CanonicalURI + '\n' +
CanonicalQueryString + '\n' +
CanonicalHeaders + '\n' +
SignedHeaders + '\n' +
HexEncode(Hash(RequestPayload))
Hash 表示生成消息摘要的函数,通常是 SHA-256。(在该过程稍后的阶段中,您将指定要使用的哈希算法。)
HexEncode 表示以小写字母形式返回摘要的 base-16 编码的函数。

本文详细介绍了AWS Signature Version 4的签名过程,包括创建规范请求、待签字符串、计算签名以及如何将签名添加到HTTP请求中。特别提到了Python版本的完整案例,并提供了常见签名异常的处理指南。对接亚马逊SP-API的Reports模块时,每个HTTP请求都需要在Headers中放置Authorization。

1万+

被折叠的 条评论
为什么被折叠?



