概述

公共请求和返回值

请求说明

公共请求中必须要有 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>&timestamp=<请求的时间戳>&url=<请 求的 URL 不包含参数>

完整 URL 示例

http://11.167.24.43:8281/openapi/nebula/getNebulaResourceList?appId=4B7AAC1231527&sign=53df44dc861099d276710c1233261ea42d5553b5f38714c8688134c72f8d0b34a9e3de7ef4b13cc5ed1e241bb9416934737faf0ae915301660a968f476722eaa945437178dd8abc39912e6d6573d809be389d212350b6b18b87277ae05abe5e41aa270cf2966c86048025c317070449afb022aeb963d5209d8cbbd3df0b3522d509a28651e1b16490eb87b565e6abb974535c0d6f894e372283b910b1e372b458e82f9b53ce5443a9f0eba6830cf271904ecc5b44cff8f8cad2d3a0e869019dc668b70baebc6d7bda8f1f739b8dc9aacf9bb84caf0f12aa5c5adacfa35814872582c681e5f9b9e0445cd82860f3489d1474130c6882662ea295b1196c228ab48&timestamp=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,供验签使用。

image.png