签名算法 v2
签名算法 v2
提示
1.
2.
X-LF-Signature-Type:2.0
。步骤
1.
2.
3.
4.
sign= Sign( data, algo=sha1withRSA, key=privateKey)
构造需要签名的数据
1. Header
timestamp
和nonce
参数需要在请求header中,并且它们应该包含在String
格式的数据中以便签名。 可选header参数X-LF-Signature-Type
可以用来表示不同的签名版本,但在数据构造中不是必需的。参数 | 位置 | 必须 | 构造数据 | 备注 |
---|---|---|---|---|
timestamp | Header | 必须 | 是 | UTC epoch time, in ms |
nonce | Header | 必须 | 是 | Random integer value |
X-LF-Signature-Type | Header | 可选 | 否 | 现有API(截止23年2月20日前发布)默认: 1.0 , 新API:2.0 |
2. URI和路径
x-sign-uri
。3. 查询参数
String
格式。4. Body
5. 数据构造
步骤:
同 V1版本
1.
2.
3.
示例: GET
//示例
# Header
timestamp: 1674197059220
nonce: 1
# Assume API is: GET https://api.linksfield.net/cube/v4/sims/{sim_id}/usage
# path parameter: sim_id = 89852002021102915651
# query parameters: begin_from , end_by , category, period_type
GET https://api.linksfield.net/cube/v4/sims/89852002021102915651/usage?begin_from=2023-01&category=data&end_by=2023-01&period_type=2
# Data for signing, after sorting and JSON Stringifying
{"begin_from":"2023-01","category_type":"data","end_by":"2023-01","nonce":"1","period_type":"2","timestamp":"1674197059220","x-sign-uri":"/cube/v4/sims/89852002021102915651/usage"}
示例: POST
# Header
timestamp: 1674197059220
nonce: 1
# Assume API is: POST https://api.io.linksfield.net/cube/v4/sims/{sim_id}/bundle
POST https://api.linksfield.net/cube/v4/sims/89000100010003125832/bundle
{
"bundle_id": "LP09823222320",
"bundle_type": 10,
"cycles": 3
}
# Data for signing
{"bundle_id":"LP09823222320","bundle_type":10,"cycles":3,"nonce":"1","timestamp":"1674197059220","x-sign-uri":"/cube/v4/sims/89000100010003125832/bundle"}
修改于 2023-10-20 01:10:53