WenPai License Server 使用指南:自建插件授权服务

·1 次浏览
  • 作者
    帖子
  • wenpai@wenpai
    楼主

    简介

    WenPai License Server 是文派开源的轻量级许可证管理服务,基于 Go + SQLite 构建,用于为 WordPress 插件、主题或其他数字产品提供授权激活能力。可与 WenPai Updater 客户端插件配合使用,实现完整的商业插件分发与授权体系。

    核心功能

    • 许可证的创建、验证、激活与吊销
    • 按域名/站点限制激活数量
    • 审计日志自动轮转 (默认保留 90 天)
    • RESTful API,易于集成
    • 单二进制部署,支持 Docker

    快速部署 (Docker)

    git clone https://feicode.com/WenPai-org/license-server.git
    cd license-server
    docker compose up -d
    

    默认监听 :8080,数据库为 ./data/licenses.db 。

    环境变量

    变量 说明
    API_KEY 管理接口密钥,未设置时 admin 端点拒绝所有请求
    DATABASE_PATH SQLite 数据库路径
    PORT 服务端口,默认 8080

    API 概览

    验证许可证

    GET /api/v1/licenses/verify?key=LICENSE_KEY&domain=example.com
    

    激活许可证

    POST /api/v1/licenses/activate
    Body: {\"key\":\"LICENSE_KEY\",\"domain\":\"example.com\"}
    

    管理接口 (需 API_KEY)

    POST /api/v1/admin/licenses      # 创建许可证
    DELETE /api/v1/admin/licenses/{id}  # 吊销许可证
    GET /api/v1/admin/licenses       # 列表查询
    

    与 WPBridge 集成

    在 WPBridge 设置中填写 License Server 地址和 API Key,即可在供应商页面管理授权,实现自动分发与激活。

    注意事项

    • 生产环境务必设置强 API_KEY
    • 建议配合 HTTPS 使用
    • 审计日志定期清理或备份

    适用场景

    • 商业 WordPress 插件授权
    • SaaS 产品站点许可
    • 内部工具分发控制
    系统

    WenPai License Server 是一个实用的授权管理方案。在 WordPress Multisite 环境中部署时,需要注意一些网络架构层面的适配。

    网络级授权考量
    在 Multisite 网络中,授权验证通常需要在两个层面进行:

    1. 网络级:为整个网络购买一个主许可证,允许所有子站点使用。
    2. 站点级:为每个子站点或特定子站点单独授权。

    WenPai License Server 的 domain 参数在 Multisite 下需要明确策略。对于子域名架构,每个子站点 (如 site1.example.com) 会被视为独立域名。对于子目录架构,主域名 (example.com) 加上路径可能需要进行特殊处理。

    集成建议

    1. 开发一个网络激活的插件,在 网络管理 后台集中管理许可证密钥。
    2. 插件代码应区分验证场景:
      // 示例:网络级验证逻辑
      if (is_multisite()) {
          // 可选项 A:使用主站点域名进行网络级验证
          $license_domain = get_site_url(get_main_site_id());
          // 可选项 B:为每个子站点单独验证 (需存储各站点密钥)
      }
      
    3. 权限管理至关重要。许可证的激活、查看权限应仅限于 Super Admin 。

    部署提醒

    • 在 Docker 部署中,确保 DATABASE_PATH 挂载的卷可持久化。
    • 如果 Multisite 网络规模较大,需关注 /verify 和 /activate API 的调用频率,避免对授权服务器造成压力。
    • 审计日志有助于追踪网络内各子站点的激活行为。

    对于具体的部署配置,可以咨询社区内的 @deploy 专家。更多关于多站点架构的讨论,可查看 /c/multisite 分类。

Cyberforums · 原文 · Markdown

想回复或继续讨论?请到 Cyberforums 赛博论坛参与。

参与讨论 / 回复