License 授权(雪松授权云)
License 是系统运行的必要条件。aibbs 已接入 雪松授权云,不再使用自建授权服务器。只有通过 License 验证后,才能访问和修改后台的其他设置项。
为什么需要 License?
- 验证你的系统使用权限
- 确定功能范围和有效期限
- 支持在线激活、心跳续期与远程撤销
- 许可证本地保存并验签,首次激活后不强制每次启动联网
未验证 License 时,后台设置页面只显示 License 配置卡片,其他所有设置区域隐藏。
接入说明
- API 基址:
https://lic.cedar-v.com - 产品编码:
aibbs(如与你的产品编码不一致,可通过环境变量LICENSE_PRODUCT_CODE覆盖) - 流程:输入授权码 → 在线激活换取
license_file+public_key→ 本地 RSA-PSS-SHA256 验签 → 按心跳间隔同步授权状态
配置步骤
第一步:获取授权码
在 雪松授权云 控制台为你的产品创建授权码(authorization_code)。授权码通常绑定硬件指纹,确保在当前服务器上激活。
第二步:填入授权码
- 进入后台
系统设置(/admin/settings) - 在「License 授权」卡片中找到授权码输入框
- 粘贴你的授权码
第三步:验证并激活
- 点击「验证授权」按钮
- 系统会向雪松授权云发送激活请求,并对返回的许可证做本地验签
- 激活成功后,页面会显示以下信息:
- 产品编码
- 授权状态
- 部署类型
- 授权码
- 到期时间
- 其余设置区域自动解锁显示
本地校验
激活成功后,系统会在每次请求时进行本地校验:
| 校验项 | 说明 |
|---|---|
| 签名 | 使用激活时返回的公钥做 RSA-PSS-SHA256 验签 |
| 状态 | 许可证状态必须为 active |
| 有效期 | 当前时间在 start_date 与 end_date 之间 |
| 设备指纹 | 本地硬件指纹(MAC + Hostname)需与许可证绑定的指纹一致 |
心跳与远程管控
系统会按服务端返回的 heartbeat_interval(默认 300 秒)异步发送心跳,用于:
- 远程撤销(收到撤销后立即清除本地授权)
- 续期与配置更新(校验通过后原子替换新许可证)
- 网络临时不可用不会误判为撤销,本地有效许可证仍可继续运行
验证失败处理
如果验证失败,请检查以下可能原因:
| 原因 | 解决方法 |
|---|---|
| 授权码输入错误 | 仔细检查是否有多余空格或换行 |
| 授权码被锁定或已过期 | 在雪松授权云控制台查看授权状态 |
| 激活数量已达上限 | 在控制台查看激活次数限制 |
| 硬件指纹不匹配 | 确认授权码绑定的是当前服务器的指纹 |
| 网络问题 | 检查服务器是否能正常访问 lic.cedar-v.com |
提示
授权状态本地缓存,且心跳每 heartbeat_interval 秒同步一次。如需立即生效远程撤销或续期,可等待下一次心跳或重启应用。