mirror of
https://github.com/hpd840321/craftlabs-authorization-sdk.git
synced 2026-06-09 10:00:30 +08:00
feat: add native/Java auth SDK, docs, CI, and examples
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# 比特授权云:机制与授权模式梳理
|
||||
|
||||
> 依据公开文档站点整理,主要页面入口:[欢迎页](https://doc.bitanswer.cn/docs/welcome/)、[授权模式分类](https://doc.bitanswer.cn/category/docs/license-models/)、[客户端 API](https://doc.bitanswer.cn/category/docs/client-api/)、[授权设计与创建](https://doc.bitanswer.cn/docs/function/licensing-design-creation/)、[基本授权过程](https://doc.bitanswer.cn/docs/application-development/development-process/)、[SDK 概述](https://doc.bitanswer.cn/docs/client-api/sdk-overview/)。
|
||||
> 整理日期:2026-04-06
|
||||
|
||||
---
|
||||
|
||||
## 1. 总体机制:控制台与产品模型
|
||||
|
||||
比特授权云将「卖什么、怎么控、怎么发到客户端」拆成多层概念:
|
||||
|
||||
|
||||
| 概念 | 作用 |
|
||||
| ---------------- | -------------------------------------------------------------- |
|
||||
| **产品(Product)** | 对应一套或一组软件;内建 **特征项(功能/加密点)** 与 **配置项(小型安全存储,键值字符串)**。 |
|
||||
| **模版(Template)** | 产品特征项的**子集**,常对应一个发行版本(如「简单版 / 专业版」)。 |
|
||||
| **业务(Business)** | 定义**商业模式 + 授权类型**(云、集团、单机浮动、演示、帐号等)及各类**授权属性**(有效期、终端数、离线策略等)。 |
|
||||
| **授权码 SN** | 16 位全球唯一标识;用户付费后发放;客户端用 SN 做激活、续期、升级。 |
|
||||
|
||||
|
||||
集成侧:**库文件与头文件与产品绑定**,混用会导致 `**Login` 返回 0x105**(文档明确说明)。
|
||||
|
||||
典型流程:规划功能与模块 → 控制台建立产品与模版 → 下载对应开发模块 → 建立业务 → 生成并分发授权码 → 客户端激活与运行时校验。
|
||||
|
||||
### 1.1 保护方式与平台
|
||||
|
||||
- **保护方式**:[欢迎页](https://doc.bitanswer.cn/docs/welcome/) 说明提供 **API** 与 **外壳** 两种;可组合使用以提高安全性。
|
||||
- **平台**:Windows(32/64)、Linux(含 ARM/x86)、macOS、Android、iOS 等;其它语言可通过动态库集成。
|
||||
|
||||
---
|
||||
|
||||
## 2. SDK 侧:与模式无关的共性(运行时语义)
|
||||
|
||||
来源:[SDK 概述](https://doc.bitanswer.cn/docs/client-api/sdk-overview/)
|
||||
|
||||
|
||||
| 名词 | 含义 |
|
||||
| --------------------- | ----------------------------------------- |
|
||||
| **资源** | 需要保护或控制的功能或数据单元。 |
|
||||
| **授权** | 将资源访问权下放给设备或用户。 |
|
||||
| **激活** | 将设备/用户与权限绑定(典型:在线更新许可,再登录)。 |
|
||||
| **授权升级** | 增加或减少资源访问权限。 |
|
||||
| **授权检查** | 检查是否拥有某资源权限。 |
|
||||
| **授权文件 / License 文件** | **单机类**授权保存在设备本地的许可数据。 |
|
||||
| **特征项** | 与程序中「加密点 / 功能开关」对应;可有版本;类型包括只读、读写、算法、密钥等。 |
|
||||
| **内存授权** | 将已有 License 传入 API 校验,**无激活过程**。 |
|
||||
|
||||
|
||||
文档强调:在**集团授权**场景下,**QueryFeature** 与 **ReleaseFeature** 应**成对**调用(占用与释放模块用户数)。
|
||||
|
||||
示例主流程(文档 C 示例):`Bit_Login(..., BIT_MODE_AUTO)` → 失败则输入 SN → `Bit_UpdateOnline` 激活 → 再 `Bit_Login` → 结束 `Bit_Logout`。
|
||||
|
||||
---
|
||||
|
||||
## 3. 授权模式分述
|
||||
|
||||
文档中「本地授权」与「云授权」的区分要点:[云授权](https://doc.bitanswer.cn/docs/license-models/cloud-license/) 页指出,除云授权外,其它方式通常需向客户端发放与**硬件指纹绑定**的电子许可证,激活后往往**不必**再连授权服务器(云授权则运行时实时连网、授权数据不落客户端)。
|
||||
|
||||
### 3.1 云授权
|
||||
|
||||
- **文档**:[云授权](https://doc.bitanswer.cn/docs/license-models/cloud-license/)
|
||||
- **许可数据**:始终在云端;客户端不保存完整授权数据。
|
||||
- **标识**:**授权码 SN**;文档描述为同一 SN 同一时间仅一台计算机使用。验证时上传 **SN + 本机硬件指纹**。
|
||||
- **安全会话**:验证通过后握手,用产品预置密钥派生**会话密钥**,后续通讯加密(文档类比网银并强调更复杂)。
|
||||
- **心跳**:约 **每 20 分钟**与服务器心跳以保持会话。
|
||||
- **多进程**:同一客户端同一 SN 最多 **10 个进程**;控制台可管理在线状态。
|
||||
- **管控**:授权属性变更可对在线客户端快速生效。
|
||||
- **局限**:运行期通常需联网;文档提及 **云授权 2.0** 改善依赖并支持高优先级登录、短时离线等。
|
||||
- **业务属性**:使用时间、次数、有效期;可设终端限制等。
|
||||
|
||||
### 3.2 单机浮动授权
|
||||
|
||||
- **文档**:[单机浮动授权](https://doc.bitanswer.cn/docs/license-models/local-license/)
|
||||
- **运行期**:激活后一般**不连**外部授权服务器即可使用(与云授权对比)。
|
||||
- **激活**:客户端提交 **SN + 硬件指纹**,服务器验证后下发与本机绑定的**本地许可**;复制到其它机器不可用。
|
||||
- **许可存放**:本机;对比——集团授权在**集团服务器**,云授权在**云端**。
|
||||
- **常见业务属性**:
|
||||
- **离线 vs 智能连接**:完全离线,或联网时后台自动校验/升级且不打断用户。
|
||||
- **强制认证**:最大离线时长,到期必须再连服务器。
|
||||
- **安装限制**:激活次数上限(多客户端**共享**该次数池)。
|
||||
- **终端限制**:允许多少台机器激活。
|
||||
- **失效与恢复**:许可损坏、硬盘问题或硬件变更可致失效;可按规则重新下载许可(可能消耗安装次数或终端名额)。
|
||||
|
||||
### 3.3 集团授权
|
||||
|
||||
- **文档**:[集团授权](https://doc.bitanswer.cn/docs/license-models/group-license/)
|
||||
- **形态**:开发商**自建授权服务器**,对局域网或互联网用户做**并发**控制。
|
||||
- **控制台**:创建业务时选择「集团授权」;可配置**用户数(并发上限)**,默认描述为最多 **999** 并发。
|
||||
- **服务端组件**(需单独下载安装):
|
||||
- 集团服务安装程序 `bit_service.exe`(Windows 服务),默认端口 **8273**(通讯)、**8274**(Web 管理)。
|
||||
- **集团服务扩展模块(.EXT)**:与**产品绑定**,不可混用。
|
||||
- **集团授权管理中心**:浏览器访问,默认示例 `http://localhost:8274`。
|
||||
- **客户端**:需配置集团服务器地址(API 或配置文件),参见 [部署和配置客户端](https://doc.bitanswer.cn/docs/application-development/application-distribution/) 等文档。
|
||||
|
||||
### 3.4 比特 ID 授权
|
||||
|
||||
- **文档**:[比特 ID 授权](https://doc.bitanswer.cn/docs/license-models/bitid-license/)
|
||||
- **机制**:在**单机授权**基础上增加 **USB 比特 ID** 绑定;插硬件的机器才能正常使用。
|
||||
- **场景**:离线环境下便于带硬件换机;控制台可追踪、注销设备。
|
||||
|
||||
### 3.5 演示授权
|
||||
|
||||
- **文档**:[演示授权](https://doc.bitanswer.cn/docs/license-models/demo-license/)
|
||||
- **特点**:演示码可被**多台客户端重复使用**;有有效期(如 15–180 天);**重装无法**简单延长试用期;可改为正式 SN。
|
||||
- **数据**:激活需连授权中心,可统计演示用户量、分布等。
|
||||
- **归类**:文档说明为**本地授权**——激活后使用**不必**再连服务器。
|
||||
|
||||
### 3.6 帐号授权
|
||||
|
||||
- **文档**:[帐号授权](https://doc.bitanswer.cn/docs/license-models/account-license/)
|
||||
- **对象**:从设备授权扩展到**人/帐号**,常为**订阅**模式。
|
||||
- **集成路径**:
|
||||
1. **库直连**:`Bit_LoginByPassword`(业务 GUID、密钥、帐号、密码等)。
|
||||
2. **OIDC**(文档更推荐):托管登录页取得 `code` → `POST /oidc/token` 换 **access_token** → `Bit_LoginByToken`。
|
||||
- **实践建议**:认证模块(Launchpad)与主程序分离,token 传入主程序。
|
||||
|
||||
---
|
||||
|
||||
## 4. 授权设计与特征项、配置项(摘要)
|
||||
|
||||
来源:[授权设计与创建](https://doc.bitanswer.cn/docs/function/licensing-design-creation/)
|
||||
|
||||
- **业务可配维度**(随授权类型不同而变化)包括:连接类型、强制认证周期、安装限制、有效期、集团用户数、起止日期、使用次数、终端限制等。
|
||||
- **授权内容更新生效**:
|
||||
- **云授权**:可较快反映到客户端(文档称可无需重启应用)。
|
||||
- **集团 / 单机**:一般在客户端**下次连服务器**时同步;智能连接、强制认证会影响同步时机。
|
||||
- **特征项类型**:只读、读写、算法、密钥等;均支持 QueryFeature / ReleaseFeature;集团场景下成对调用尤其重要。
|
||||
- **配置项(Data)**:存配置与小数据,UTF-8;**不宜**替代特征项做安全控制;客户端可能有缓存,异常断电有丢失风险。
|
||||
|
||||
---
|
||||
|
||||
## 5. 模式对照表(便于与自研抽象对齐)
|
||||
|
||||
|
||||
| 维度 | 云授权 | 单机 / 演示 / 比特 ID(本地类) | 集团授权 | 帐号授权 |
|
||||
| ---- | ------------ | -------------------- | ---------- | --------------- |
|
||||
| 判定位置 | 云端实时 | 本地许可(可选定期/智能连网同步) | 集团服务器(并发) | 云端 + token/密码 |
|
||||
| 长期联网 | 一般需要 | 通常不强制(依业务属性) | 依部署与策略 | 登录/刷新时需要 |
|
||||
| 并发模型 | SN + 在线会话/心跳 | 终端数、安装次数等 | 并发用户数 | 订阅/帐号维度 |
|
||||
| 典型标识 | SN | SN(演示码策略特殊) | SN + 服务器地址 | 帐号 / OIDC token |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 6. 免责声明
|
||||
|
||||
本文档为对 **doc.bitanswer.cn** 公开页面的**学习性整理**,不替代原厂文档;产品行为、默认值与 API 以官方网站与最新版本为准。
|
||||
Reference in New Issue
Block a user