第三方平台如何调用魔方API - xinwu-yang/cube-java GitHub Wiki
功能介绍
当下存在一些第三方系统会调用魔方本身API的需求,为此设计了一个基于AK/SK的APIKey的申请机制,方便绕过登录机制申请到API凭证。
操作步骤
在魔方平台申请AK/SK
注意
SK
只会在首次生成的时候提示出来!
使用生成好的AK/SK签名一个密钥
- 签名的组成结构
signature = AK + .
+ AES_128_CBC_PKCS5Padding(待签名内容)
- 待签名内容:
expired
APIKey的过期时效(单位:秒)signTime
该签名密钥的签名时间
- 示例代码
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
- 请求示例
http://25.30.15.85:8080/cube/sys/ram/sign?signature=2456380c7870a1ed8a223cdee6e9a5bb.ba1d5731f7fe09ac6b749bd8c86cf86f8e739dde77b27fccd9f9d813d5e89c5355c2abf0321e59d7704574ea7950b64c
- 相应示例
{
"success":true,
"message":"操作成功!",
"code":200,
"result":"b78084b64bcd4babbf4ee90d342212e4", //这个便是APIKey,可用于调用魔方的API
"timestamp":"1659599876965"
}