使用文档

时光授权系统文档

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

快速开始

本教程将引导你 10 分钟内完成授权系统的部署,包括:环境准备、数据库初始化、后台配置、API 测试。

1. 环境要求

  • PHP ≥ 7.2(推荐 8.0+)
  • MySQL ≥ 5.7(或 MariaDB ≥ 10.2)
  • PHP 扩展:pdo_mysql、openssl、mbstring、curl、json
  • Web 服务器:Nginx / Apache,宝塔 / 1Panel 等面板可直接创建站点

2. 上传文件

把 license-server/ 目录上传到你的 Web 根目录。例如:

# 假设你的站点根目录是 /www/wwwroot/license.example.com
cd /www/wwwroot/license.example.com
# 上传 license-server/ 里的所有文件到此处
ls
# 应该看到:index.php  login.php  buy.php  docs.php  inc/  pages/  user/  ...

3. 配置数据库连接

编辑 inc/db.php 文件:

<?php
// 数据库配置
define('DB_HOST', '127.0.0.1');           // 数据库地址
define('DB_NAME', 'license_server');      // 数据库名
define('DB_USER', 'license_user');        // 用户名
define('DB_PASS', 'your_secure_password'); // 密码
define('DB_CHARSET', 'utf8mb4');          // 字符集

// HMAC 签名密钥(所有 API 签名都用它,务必修改)
define('HMAC_SALT', 'your-unique-random-string-32chars-min');

// API 密钥(可选,外部 API 调用时使用)
define('API_SECRET', 'your-api-secret-32chars-min');
安全提醒:HMAC_SALT 和 API_SECRET 必须修改为随机字符串,长度建议 ≥ 32 字符。生产环境不要使用默认值!

4. 创建数据库

登录 MySQL,创建数据库(字符集必须是 utf8mb4):

CREATE DATABASE license_server
    DEFAULT CHARACTER SET utf8mb4
    DEFAULT COLLATE utf8mb4_unicode_ci;

CREATE USER 'license_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON license_server.* TO 'license_user'@'localhost';
FLUSH PRIVILEGES;

5. 访问安装页面

打开浏览器访问:

https://license.example.com/install.php

系统会自动创建所有表结构。完成后页面会提示:

 数据库表结构初始化成功!

请删除 install.php 文件以确保安全。

6. 创建管理员账号

访问:

https://license.example.com/admin_register.php

填写管理员信息(用户名、邮箱、密码)。第一个注册的账号自动成为超级管理员。

7. 登录后台

访问:

https://license.example.com/admin/

使用刚注册的账号登录。

8. 添加第一个产品

进入「产品管理」→「添加产品」,填写:

  • 产品名称:例如 "夸克网盘二维码插件"
  • 产品 Slug:英文唯一标识,例如 shiguang-quark-qrcode(插件代码里要用)
  • 产品简介:用户购买页显示
  • 详细介绍(Markdown):支持 Markdown 语法
  • 价格:¥0 表示免费,¥39 表示收费
  • 有效期:0 表示永久,N 表示 N 天

保存后会看到 Product Secret(32 字符的密钥),这是插件 API 签名用的,请妥善保管。

9. 配置支付(可选)

如果是付费产品,需要配置易支付:

进入「系统设置」→「支付设置」:

  • 勾选「启用支付宝」或「启用微信支付」
  • 填写易支付网关地址、商户 ID、商户密钥
  • 保存

详细配置请参考 配置说明。

10. 测试授权验证

在产品列表中点击「测试 API」按钮(或访问 test_api.php),输入授权码和域名测试验证接口:

curl -X POST https://license.example.com/api/verify.php \
  -d "license_key=LIC-XXXXX-XXXXX-XXXXX-XXXXX" \
  -d "domain=www.example.com" \
  -d "product=shiguang-quark-qrcode" \
  -d "version=1.0.0" \
  -d "serial=1" \
  -d "signature=$(echo -n 'www.example.com|LIC-XXXXX-XXXXX-XXXXX-XXXXX|shiguang-quark-qrcode|1' | openssl dgst -sha256 -hmac 'your-api-secret' | awk '{print $2}')"

返回 JSON 表示授权验证成功:

{
    "status": "success",
    "message": "授权有效",
    "data": {
        "serial": 1,
        "license": {
            "key": "LIC-XXXXX-XXXXX-XXXXX-XXXXX",
            "domain": "www.example.com",
            "type": "standard",
            "status": "active",
            "max_sites": 1,
            "expires_at": null
        }
    }
}
部署完成!现在你可以:
  • 在插件后台用授权码测试激活
  • 查看 PHP 示例 了解完整的对接流程
  • 查看 部署上线 了解生产环境配置