第三方平台如何调用魔方API - xinwu-yang/cube-java GitHub Wiki

功能介绍

当下存在一些第三方系统会调用魔方本身API的需求,为此设计了一个基于AK/SK的APIKey的申请机制,方便绕过登录机制申请到API凭证。

操作步骤

在魔方平台申请AK/SK

注意SK只会在首次生成的时候提示出来!

使用生成好的AK/SK签名一个密钥

  1. 签名的组成结构

signature = AK + . + AES_128_CBC_PKCS5Padding(待签名内容)

  1. 待签名内容:
  • expired APIKey的过期时效(单位:秒)
  • signTime 该签名密钥的签名时间
  1. 示例代码
String ak = "2456380c7870a1ed8a223cdee6e9a5bb";
String sk = "dee1a4484a7be25c75912492825fe5c4";
AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, HexUtil.decodeHex(ak), HexUtil.decodeHex(sk));
String signature = ak + "." + aes.encryptHex("{\"expired\":1000, \"signTime\":" + System.currentTimeMillis() + "}");
// 此处signature便是一个签名密钥

使用签名密钥请求一个APIKey

Get : http://{IP}:{PORT}/{CONTEXT_PATH}/sys/ram/sign?signature=XXXXXX

  1. 请求示例
http://25.30.15.85:8080/cube/sys/ram/sign?signature=2456380c7870a1ed8a223cdee6e9a5bb.ba1d5731f7fe09ac6b749bd8c86cf86f8e739dde77b27fccd9f9d813d5e89c5355c2abf0321e59d7704574ea7950b64c
  1. 相应示例
{
    "success":true,
    "message":"操作成功!",
    "code":200,
    "result":"b78084b64bcd4babbf4ee90d342212e4", //这个便是APIKey,可用于调用魔方的API
    "timestamp":"1659599876965"
}

调用魔方API