API 文档

两个接口搞定接入:校验授权、查询状态

返回首页

概览

接口方法用途
/api/authorize.phpPOST校验授权码,首次调用自动绑定设备,返回签名令牌
/api/query.phpGET / POST查询授权状态,不绑定设备

所有响应均为 JSON,统一结构:{ code: 0, msg: "ok", data: {...}, ts: 1700000000 }。code = 0 表示成功,其余为失败。

1. 请求授权

POST https://auth.lingbu.top/api/authorize.php,Content-Type: application/json

参数类型必填说明
auth_codestring是用户控制台中的授权码,形如 AUTH-XXXX-XXXX-XXXX-XXXX
devicestring是设备指纹,4-64 位。建议取设备 SN / 主板序列号的哈希,保证稳定不变
curl -X POST "https://auth.lingbu.top/api/authorize.php" \
  -H "Content-Type: application/json" \
  -d '{"auth_code":"AUTH-7F3K-9QW2-M4XP-Z8HR","device":"sn-8a3f19d2"}'

成功响应:

{
  "code": 0,
  "msg": "ok",
  "data": {
    "auth_code": "AUTH-7F3K-9QW2-M4XP-Z8HR",
    "device": "sn-8a3f19d2",
    "product": "标准授权",
    "expires_at": "2026-11-08 10:00:00",
    "expires_ts": 1762567200,
    "token": "9c1f...",
    "token_type": "HMAC-SHA256",
    "new_bind": true,
    "server_time": "2026-11-01 10:40:50"
  },
  "ts": 1762000050
}

token = base64url(HMAC-SHA256(auth_code + "|" + device + "|" + expires_ts, api_secret))。若需要在客户端离线校验,可在工具内嵌入同一密钥;也可以只信任接口返回结果。

2. 查询状态

GET https://auth.lingbu.top/api/query.php?auth_code=AUTH-7F3K-9QW2-M4XP-Z8HR

{
  "code": 0,
  "msg": "ok",
  "data": {
    "auth_code": "AUTH-7F3K-9QW2-M4XP-Z8HR",
    "status": "valid",
    "device": "sn-8a3f19d2",
    "bound": true,
    "product": "标准授权",
    "expires_at": "2026-11-08 10:00:00",
    "expires_ts": 1762567200,
    "remaining": 566400,
    "server_time": "2026-11-01 10:40:50"
  },
  "ts": 1762000050
}

status 取值:valid / expired / banned。

错误码

code含义
0成功
1001缺少参数 / 参数格式不正确
1002授权码格式不正确
1003device 参数无效
1101授权码不存在
1102授权码已被封禁
1103授权码已过期
1104授权码已绑定其它设备
429请求过于频繁(同 IP 10 分钟内失败超过 20 次)
5000服务端异常

接入建议

  • 设备指纹要稳定:用序列号 + 主板 ID 拼接后做 SHA-256,不要用会变化的时间戳或随机数。
  • 每次启动工具时调用一次 authorize.php,成功后再执行功能;过期或失败时提示用户续费。
  • 不要在前端明文存放密钥;若做离线校验,建议对密钥做简单混淆。
  • 同一授权码换设备会返回 1104,需要用户联系管理员在后台解绑。