Hawk 身份验证是一种基于 HTTP 请求的身份验证协议,旨在提供一种简单、灵活且安全的身份验证机制。它使用 HMAC(基于哈希的消息认证码)来创建加密签名,用于验证请求的真实性和完整性。Hawk 特别适用于需要强安全性但又不想引入 OAuth 复杂性的 API,为服务到服务通信提供了一种轻量级替代方案。基本设置#
| 参数 | 描述 | 必填 |
|---|
| Hawk Auth ID | 当前请求的身份验证标识符 | 是 |
| Hawk Auth Key | 当前请求的身份验证密钥 | 是 |
| Algorithm | 用于消息身份验证的 HMAC 算法 | 是(SHA-256、SHA-1 等) |
算法必须与你的 API 提供方所期望的算法一致。建议在现代实现中使用 SHA-256,同时也支持 SHA-1 以兼容旧系统。
高级设置#
点击 More 选项以配置额外的 Hawk 参数。如果留空,它们将自动生成。| 参数 | 描述 | 用途 |
|---|
| User | 用户标识符 | 标识发起请求的用户 |
| Nonce | 客户端生成的随机字符串 | 通过确保请求唯一性来防止重放攻击 |
| ext | 应用程序特定信息 | 随 API 请求发送的自定义数据 |
| app | 应用程序标识符 | 通过将凭证绑定到特定应用来防止凭证冒用 |
| dlg | 委派应用程序 ID | 标识颁发凭证的应用程序 |
| Timestamp | Unix 时间戳 | 防止时间窗口之外的请求(防重放保护) |
| Include payload hash | 复选框选项 | 启用后,在签名中包含请求载荷的哈希值 |
安全功能#
Timestamp:确保请求仅在特定时间窗口内有效
如果留空,Apidog 会自动生成 Timestamp 和 Nonce 值,无需手动配置即可确保适当的安全性。
当你的 API 需要验证请求主体完整性时,请启用 "Include payload hash"。这会将载荷加入签名计算,防止请求主体被篡改。