Skip to content

认证机制

Token 格式

Agent Token 采用三段式结构,各部分以 . 分隔:

{agent_api_key}.{timestamp}.{signature}
部分类型说明示例
agent_api_keystring您的 API Keya9f3c28d7b1e4f90c2a1b3d4
timestampstring当前 Unix 时间戳(秒)1743055200
signaturestringHMAC-SHA256 签名(hex 小写)a1b2c3d4e5...

签名算法

signature = HMAC-SHA256(agent_api_key + "." + timestamp, agent_api_secret) → hex 小写

生成步骤

  1. 获取当前时间戳
    Unix timestamp(秒),如 1743055200

  2. 拼接待签名字符串

    raw_string = agent_api_key + "." + timestamp
  3. 计算 HMAC-SHA256 签名

    signature = HMAC-SHA256(raw_string, agent_api_secret)

    转为 hex 小写字符串

  4. 组合 Token

    token = agent_api_key + "." + timestamp + "." + signature
  5. 放入 HTTP Header

    Authorization: Bearer {token}

时效性

Token 中的时间戳必须在服务器当前时间 ±2 分钟 以内,否则会被拒绝。请确保您的服务器时间准确(建议使用 NTP 同步)。

服务端验证流程

服务端收到请求后的验证步骤:

  1. 提取 Token — 从 Authorization: Bearer {token} Header 中获取 Token
  2. 拆分 Token — 按 . 分割为 agent_api_keytimestampsignature 三部分
  3. 验证时间戳 — 确认 timestamp 与服务器时间差不超过 2 分钟
  4. 查库获取密钥 — 用 agent_api_key 查数据库取出 agent_api_secret
  5. 验证签名 — 用取到的 agent_api_secret 重新计算 HMAC-SHA256 并比对 signature

VCT Gaming Integration Platform