licenseeye-sdk
v1.0.0
Published
TypeScript client SDK for LicenseEye license validation with Ed25519 verification, quota tracking, and policy management
Maintainers
Readme
LicenseEye SDK(客户端 SDK)
LicenseEye 的客户端 SDK,提供常用的许可证校验与消费工具。
功能
- 心跳(heartbeat),并记录服务器时间(server-time)
- Ed25519 特性令牌验证(feature token verification)
- 临时令牌(ephemeral token)TTL 验证
- 基于策略的行为适配(policy-driven behavior)
- 通过存储适配器跟踪配额(quota tracking)
consume()辅助方法用于特性门控(feature gating)
用法示例
import { LicenseEyeClient } from 'licenseeye-sdk'
// 简单内存存储示例
const storage = {
data: new Map(),
async get(key: string) { return this.data.get(key) || null },
async set(key: string, value: string) { this.data.set(key, value) }
}
const client = new LicenseEyeClient('https://your-worker.workers.dev', storage)
// 心跳
const hb = await client.heartbeat(license_key, session_id, machine_id)
console.log('State:', hb.state) // active | grace | restricted | revoked
console.log('Policy:', hb.policy)
console.log('Soft checks:', hb.soft_checks)
// 特性消费
const ft = await client.issueFeatureToken(license_key, { export_4k: true })
const result = await client.consume('export_4k', ft, hb.policy, publicJWK, license_key)
if (!result.ok) console.error('Feature blocked:', result.error)
// 临时令牌
const token = await client.issueEphemeral(license_key, machine_id, 3600)
const valid = client.validateEphemeral(token)构建
npm install
npm run build备注:示例代码中的 storage 仅作演示,生产环境中请提供持久化实现(localStorage、IndexedDB、文件、数据库等)。
