使用文档

时光授权系统文档

从快速开始到 API 对接,全面了解授权系统的使用与集成

API 总览

授权系统对外暴露的 API 端点。所有 API 都使用 HMAC-SHA256 签名防止伪造,未签名的请求会被拒绝(HTTP 403)。

API 列表

方法路径作用鉴权
POST /api/verify.php 验证授权码(插件调用) 签名
GET /epay_notify.php 易支付异步回调(彩虹 / 异次元 / YPay 通用) 易支付密钥
GET /api/check.php 综合查询端点(产品信息 / 订单状态 / 授权状态) 视具体动作而定
GET /api/update-check.php 插件版本更新检查 签名

通用规范

请求格式

  • Content-Type:application/x-www-form-urlencoded 或 application/json
  • 字符编码:UTF-8
  • 超时建议:客户端设置 15 秒

签名算法

所有需要鉴权的 API 都需要签名。签名规则:

sign_data = domain + '|' + license_key + '|' + product + '|' + serial
signature = hex(HMAC-SHA256(sign_data, API_SECRET))

示例代码(PHP):

<?php
function sign($domain, $license_key, $product, $serial = 1, $secret) {
    $sign_data = $domain . '|' . $license_key . '|' . $product . '|' . $serial;
    return hash_hmac('sha256', $sign_data, $secret);
}

响应格式

所有 API 返回 JSON:

{
    "status":  "success | fail",
    "message": "人类可读消息",
    "serial":  1,
    "license": { "key": "...", "domain": "...", "type": "..." },
    "product": { "name": "...", "slug": "..." },
    "update":  { "version": "...", "download_url": "..." }
}

HTTP 状态码:

  • 200:请求成功
  • 400:参数错误
  • 403:签名错误 / 权限不足
  • 404:资源不存在
  • 500:服务器错误

错误响应

错误时 status 为 error,message 描述错误原因:

{
    "status": "error",
    "message": "授权码无效",
    "data": {
        "reason": "invalid_license"
    }
}

详细错误码请参考 错误码 章节。

速率限制

为防止暴力破解,API 端点默认启用速率限制:

  • 每个 IP 每分钟最多 60 次验证请求
  • 超过限制返回 HTTP 429
  • 管理员可在配置文件中调整
详细的接口规范请看 授权验证接口。