智星云开放接口
  1. 使用文档
智星云开放接口
  • OpenAPI v2
    • 开始使用
    • 使用文档
      • 接口约定
      • 接口签名
      • 接入案例
      • 更新日志
      • 常见问题Q&A
      • 签名调试工具
        POST
    • 逻辑参考
      • 价格与费用
    • 用户模块
      • 获取apikey信息
      • 获取主账户信息
    • 账单模块
      • 获取充值订单列表
      • 获取余额变更明细
    • 自主实例
      • 获取实例信息
        • 获取实例状态统计
        • 获取自主实例列表
        • 获取自主实例详情
      • 获取实例费用
        • 获取自主实例费用汇总
        • 获取自主实例费用明细
      • 变更实例信息
        • 修改实例备注
        • 修改实例扣费优先级
        • 修改实例到期处理模式
        • 修改实例访问密码
      • 实例配置升级
        • 修改实例带宽
        • 查询资源池剩余CPU
        • 添加CPU
        • 查询资源池剩余内存
        • 添加内存
        • 查询资源池剩余磁盘
        • 添加磁盘
      • 实例费用管理
        • 实例启动错误,手动退费
        • 设置实例自动续费
        • 手动续费实例
      • 获取本地镜像
      • 重置系统
      • 释放保留的磁盘
      • 从保留磁盘创建实例
      • 重启实例
    • 租用市场
      • 获取基础配置项
      • 获取价格信息
      • 获取云主机租用选项
      • 创建云主机
      • 获取Maas云主机租用选项
  1. 使用文档

接口签名

整体方法采用:timestamp+nonce+sign方案,可防止请求被修改、请求被重放。

请求字段#

参数名字段说明字段类型是否必传值案例
apikeyaccessKeystring是8b90cf872569460a
timestamp时间戳integer是1733814154
nonce随机数string是CrpsYHp
sign签名值string是664ea273d9af09636524925e785f4f71
param1参数1string否iamcoolman
param2参数2integer否18
param3参数3bool否true
param4参数4string否""

字段说明#

apikey,是请求身份凭证,在 开始使用->信息准备 页面中,有获取说明。
timestamp,是请求的时间戳整数,单位是秒(请保证服务器的时间准确,可使用chrony定期同步服务器时间,否则请求会被拒绝)。
nonce,是随机字符串,防止重复,推荐使用8位以上的随机串(一定时间内的重复随机串的请求将不被通过)。
sign,是请求参数签名,见下方逻辑生成。

生成签名#

假设业务需要提交的请求参数有:param1=iamcoolman,param2=18,param3=true,param4=,其中param4的参数值为空字符串
那么最终实际需要提交的参数名包括:apikey,timestamp,nonce,param1,param2,param3,sign
其中apikey,timestamp,nonce参数的说明见上方表格,sign参数值的生成见下方:
1.
按照请求参数名的字母升序排列非空请求参数(包含apikey) :stringA="apikey=8b90cf872569460a&nonce=CrpsYHp&param1=iamcoolman&param2=18&param3=true&timestamp=1733814154"; (注意param4的值为空,所以不参与签名)
2.
拼接密钥secret:stringSignTemp=stringA+"&secret={你申请的SecretKey}"; (注意 secret=xxxx 是不参与排序的,是直接在末尾拼接即可)
3.
取MD5得到sign的值:sign=MD5(stringSignTemp);
4.
将生成的 sign 参数添加到请求参数中(post请求放入body)。

Golang 端生成签名的代码参考:#

⚠️签名如果不通过,可使用 签名调试工具 进行调试分析。
文章参考:保证接口安全性,开放 HTTP API 接口签名验证! - 知乎
修改于 2024-12-19 05:49:30
上一页
接口约定
下一页
接入案例
Built with