公共请求和返回值
请求说明
公共请求中必须要有 tenantId、workspaceId 和 appId 这三个参数。
说明
如果请求方式为 POST,那么需要在 queryString 中存在这三个参数,POST 的请求体中不需要再添加这三个参数。
POST 方式传参时,如果在对应接口的传参方式里面没有进行说明,那么默认的 content-type 为 multipart/form-data。
名称 | 类型 | 说明 |
tenantId | String | 租户 ID |
workspaceId | String | workspaceId |
appId | String | 应用 ID |
返回值说明
返回值为 JSON 格式。
{
"data":{
"data":"data",
"errorCode":null,
"requestId":"",
"resultMsg":"",
"success":true
},
"requestId":""
}
其中 success
参数标识请求处理结果表示成功或失败。
如果为
true
表示成功,可以从data
参数中获取返回数据;如果为
false
表示请求处理失败,可以从resultMsg
中获取返回的错误信息。
说明
之后在其他文档中列出来的返回值,都是 data 参数中的数据,不再展示完全的返回值结构。
接口加签
开放 API 接口会要求所有的请求的 URL 都带上四个 URLPARAMETER。
appId
workspaceId
timestamp #代表生产这次签名的时间(单位秒)
sign #用 RSA 2048 私钥生成的签名
sign 的内容是对下述字符串加签的结果串,签名值转为 16 进制字符串(hex)
appId=<用户的 APPID>&workspaceId=<用户的 workspaceId>×tamp=<请求的时间戳>&url=<请 求的 URL 不包含参数>
完整 URL 示例
http://11.167.24.43:8281/openapi/nebula/getNebulaResourceList?appId=4B7AAC1231527&sign=53df44dc861099d276710c1233261ea42d5553b5f38714c8688134c72f8d0b34a9e3de7ef4b13cc5ed1e241bb9416934737faf0ae915301660a968f476722eaa945437178dd8abc39912e6d6573d809be389d212350b6b18b87277ae05abe5e41aa270cf2966c86048025c317070449afb022aeb963d5209d8cbbd3df0b3522d509a28651e1b16490eb87b565e6abb974535c0d6f894e372283b910b1e372b458e82f9b53ce5443a9f0eba6830cf271904ecc5b44cff8f8cad2d3a0e869019dc668b70baebc6d7bda8f1f739b8dc9aacf9bb84caf0f12aa5c5adacfa35814872582c681e5f9b9e0445cd82860f3489d1474130c6882662ea295b1196c228ab48×tamp=1558937883&workspaceId=sit
RSA 密钥生成方式
生成密钥对方式:
1、生成一个 2048 位的 RSA 私钥
openssl genrsa -out private_key.pem 2048
2、将私钥转为 PKCS#8 格式
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key.pem -out private_key.der -nocrypt
3、将公钥的格式改为 DER
openssl rsa -in private_key.pem -pubout -outform DER -out public_key.der
4、将公私钥分别转为 base64 格式
openssl base64 -in private_key.der -out private_key_base64.der
openssl base64 -in public_key.der -out public_key_base64.der
5、查看公钥内容
cat public_key_base64.der
6、查看私钥内容
cat private_key_base64.der
密钥生成之后,将公钥通过这个页面上传到 mappcenter,供验签使用。
该文章对您有帮助吗?