foren.dev

授权令牌 (Authorization Token)

授权令牌是给客户的凭证,用于证明"我有权使用某产品的某功能"。

与 API Token 的区别

凭证类型用途谁持有
---------
授权令牌 (本页)客户在调用 /authorize/token/ 时出示取证软件 / 取证员
API Token管理员调用管理类 API 时使用管理员 / 系统集成商

简单记:授权令牌 = 客户用的;API Token = 管理员用的。

颁发流程

管理员                          客户                       partner 服务
    │                              │                              │
    │  (后台) 颁发令牌              │                              │
    │   ┌────────────────┐          │                              │
    │   │ 名称、有效期    │          │                              │
    │   │ 关联 license   │          │                              │
    │   │ 关联 product   │          │                              │
    │   └────────┬───────┘          │                              │
    │            │                  │                              │
    │            ▼                  │                              │
    │   生成 token (明文一次性显示) │                              │
    │            │                  │                              │
    │            │  (安全通道下发)  │                              │
    │            └─────────────────▶│                              │
    │                              │  (配置到客户端)              │
    │                              │       │                      │
    │                              │       ▼                      │
    │                              │  调 /authorize/token/ ──────▶│
    │                              │  (Bearer token)              │
    │                              │                              │
    │                              │       ◀────── 通过/拒绝 ─────│

怎么生成

普通访问者:请联系管理员为您颁发令牌。

管理员:在后台 登录 → 侧边栏 Auth Tokens → + Issue Token,填入:

  • License(从下拉列表中选)
  • Product(默认 CoForen,可填其他)
  • Token 名称(描述用途)
  • 有效期(天,默认 365)

生成后明文 token 仅显示一次,请妥善保存。

怎么使用

客户的软件调用 /license/api/coforen/authorize/token/:

curl -X POST https://foren.dev/license/api/coforen/authorize/token/ \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your-token-here",
    "product_slug": "CoForen"
  }'

响应:

{
  "ok": true,
  "valid": true,
  "license_id": 2,
  "product_slug": "CoForen",
  "expires_at": "2027-05-21T10:00:00Z"
}

若 token 无效:

{
  "ok": false,
  "error_code": "token_invalid",
  "message": "Authorization token is invalid, expired, or revoked"
}

错误码

错误码含义
------
token_invalidtoken 不存在、已过期或被吊销
missing_token请求未提供 token
rate_limited调用过于频繁(60/分钟)

撤销 / 续期

撤销:在后台 Auth Tokens 列表中点击 Revoke。撤销后 token 立即不可用。

续期:当前不支持直接续期,需要重新颁发一个。新 token 颁发后旧的自动失效(同一 license+product 组合只允许一个 active token)。

安全提示

  • 不要把 token 写在公开的代码仓库
  • 建议使用密钥管理服务(AWS Secrets Manager / HashiCorp Vault / 阿里云 KMS)保存
  • token 泄露后立刻在后台 Revoke
  • token 默认不可追溯(SHA-256 哈希后存储),所以一旦丢失只能重新颁发

下一步