--- title: API Key 认证 (API Key Authentication) created: 2025-04-15 updated: 2026-05-01 type: concept tags: [] sources: [] --- # API Key 认证 (API Key Authentication) **通过预共享密钥验证客户端身份的简单认证机制**,常见于 API 网关和微服务间通信。 ## 常见形式 | 形式 | HTTP 头格式 | 示例 | |------|------------|------| | API Key | `X-API-Key: ` | `X-API-Key: sk-abc123` | | Bearer Token | `Authorization: Bearer ` | `Authorization: Bearer eyJ...` | | Basic Auth | `Authorization: Basic ` | `Authorization: Basic dXNlcjpwYXNz` | ## 在反向代理层实现 API Key 认证最适合在 [[reverse-proxy-authentication|反向代理层]] 实现——网关检查请求头,未携带有效 Key 的请求在到达后端前即被拒绝。 ### 单 Key 校验 ``` @unauthorized { not header X-API-Key "the-key" } respond @unauthorized "Unauthorized" 401 ``` ### 多 Key 白名单 ``` @authorized { header X-API-Key "key-001" header X-API-Key "key-002" } @unauthorized { not @authorized } respond @unauthorized "Unauthorized" 401 ``` ## 适用场景 - ✅ 服务间 API 调用(内部微服务) - ✅ 简单 Webhook 接收端点 - ✅ 开发/测试环境快速保护 - ❌ 需要用户身份/权限细分的场景 → 使用 JWT 或 [[forward-authentication|外部认证]] ## 相关概念 - [[reverse-proxy-authentication]] — 反向代理层认证 - [[forward-authentication]] — 复杂认证委托 - [[caddy-reverse-proxy-auth]] — Caddy 配置方案