SuperAPI AI 工具集

api_key_management

编程与开发

查看项目

更新于 10-15 20:33

技能介绍

用途:为集成 KYC 验证 API 的第三方后端(B2B 客户端)提供 API Key 认证。移动端与 Web 客户端使用 JWT,外部后端使用 API Key,二者互补。

主要能力:

  • 生成 API Key:使用 secrets.token_urlsafe(32),至少 256 位熵。
  • 存储:在 PostgreSQL 中保存 key 的 SHA-256 哈希,表结构为 api_keys(key_hash, client_id, scopes, created_at, expires_at)。
  • 传输:客户端通过请求头 X-API-Key: <key> 发送密钥。
  • 校验:Nginx 对 Redis 中活跃 key 缓存进行校验,使用 redis.sismember('active_api_keys', sha256(key))。
  • 限流:除按 IP 限流外,还需按 API Key 限流。
  • 轮换:签发新 key,设置新旧并存的宽限期,随后吊销旧 key。
  • 审计:记录所有基于 API Key 的访问。

使用方式:在 api_gateway_agent 中启用,用于认证 B2B 客户请求。按 key 实现 scopes:verify、status、admin。

限制与注意事项:

  • 绝不记录完整 API Key,仅保留最后 4 个字符用于识别。
  • 过期 key 自动吊销,客户端需主动续期。
  • 资料未提供具体部署步骤、依赖版本或完整代码示例。